| Anterior | Siguiente |
| ENOENT | EINTR |
ESRCH
Qué significa ESRCH
ESRCH es conocido por kill(): el PID o grupo indicado no identificaba un proceso objetivo cuando el kernel procesó la petición. También puede aparecer después de que un hijo termine y su estado ya haya sido recogido, o en otras API que intentan obtener una referencia a un proceso que desapareció.
Es diferente de EPERM. Con EPERM existe un objetivo pero el llamador no tiene autorización; con ESRCH no se encontró el objetivo. Comprobar primero un PID no elimina la carrera: el proceso puede terminar inmediatamente después de la comprobación y el número puede reutilizarse más tarde.
Qué comprobar
- Registra operación, PID o grupo, señal solicitada y contexto de namespace o supervisor de procesos.
- Para hijos gestionados, revisa
wait/SIGCHLD: otro camino puede haber recogido ya el estado. - Decide si «ya no existe» es un resultado esperado de una operación de parada o un fallo del plano de control.
- Cuando la plataforma proporcione identificadores estables de proceso, prefierelos para gestión de larga duración a conservar un PID numérico sin más contexto.
Referencias técnicas
- POSIX: kill()
- Manual de Linux: kill(2)
- Manual de Linux: pidfd_open(2)
- Manual de Linux: pidfd_send_signal(2)
¿Buscas un código diferente? Buscar otro código de estado o error.
