candidatos para probarlo, el comando kill. Si no vez ninguna referencia a este comando el pagina "man kill(1)"
entonces mira la pagina de info. La pagina man/info dice que la señal 0 es especial y que el código de salida de kill
informa si una señal puede ser enviada a un proceso especifico o procesos.
Entonces kill -0 no terminara el proceso y el estado de retorno puede ser usado para determinar si un proceso
esta corriendo. Por ejemplo:
$ echo $$ # muestra el id de tu proceso
12833
$ /bin/bash # crea nuevo proceso
$ echo $$ # muestra el id del nuevo proceso
12902
$ kill -0 12902
$ echo $? # salida
0
$ exit # regresa al shell anterior
$ kill -0 12902
bash: kill: (12902) - No hay proceso
$ echo $? # no existe, código de salida es 1
1
Varios de los procesos UNIX guardan sus IDs de procesos en el directorio /var/run cuando son iniciados.
Usando kill -0 para probar el pid es mas fácil que revisar la salida de ps. Por ejemplo para probar
si cron esta ejecutándose, has lo siguiente:
# kill -0 $(cat /var/run/cron.pid)
# echo $?
0
No hay comentarios:
Publicar un comentario