¿Qué significa ESRCH?

12

Fuera de: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html

Siempre está bastante claro por qué un código errno se llama de una manera particular, excepto por este. ¿Cómo se relaciona SRCH con No tal proceso ?

PSkocik
fuente
Probablemente grepo lo pgrepdevuelve debido a una falla en la búsqueda de la lista de procesos.
gato
Mi IDE, Atom , devuelve ESRCH cuando busca en la lista de paquetes si no hay conexión a Internet. Puramente anecdótico, y probablemente a propósito en lugar de por casualidad.
gato

Respuestas:

11

POSIX killdocumenta la connotación de "búsqueda":

[ESRCH]
No se puede encontrar ningún proceso o grupo de procesos que corresponda al especificado por pid.

El número anterior (2004) dio en la justificación más información:

Algunas implementaciones proporcionan extensiones semánticas a la función kill () cuando el valor absoluto de pid es mayor que algún valor máximo, o de otro modo especial. Los valores negativos son una bandera para matar (). Dado que la mayoría de las implementaciones devuelven [ESRCH] en este caso, este comportamiento no se incluye en este volumen de IEEE Std 1003.1-2001, aunque una implementación conforme podría proporcionar dicha extensión.

Thomas Dickey
fuente
4

La cadena ESRCH parece críptica, pero después de mirar los otros errores y sus cadenas: (tomado de http://pubs.opengroup.org/onlinepubs/9699919799/functions/kill.html )

  • [EINVAL] El valor del argumento sig es un número de señal no válido o no compatible.
  • [EPERM] El proceso no tiene permiso para enviar la señal a ningún proceso de recepción.

Parece lógico que E represente un error, INVAL para inválido y PERM para permiso. En la misma línea lógica, SRCH significa búsqueda.

Error al buscar el grupo pid / pid.

Locomotora
fuente
¡Bienvenido a U&L! Veo que ha hecho referencia a la función kill y a otros dos errores, pero todavía no veo ninguna evidencia que respalde la pregunta: ¿Cómo se relaciona "SRCH" con "No hay tal proceso"?
Jeff Schaller