kill-monitoring-blog-header

Linux mini-howto: Monitoring procesů nástrojem kill!!!

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Monitoring procesů s kill

havel@havel-machine:~$ kill -0

Tajné, pssst!

Nedokumentovaná (man kill) část nástroje kill, kill -0. Zcela dle neočekávání kill -0 nezabije proces, ani ho jinak neovlivní, vrací exitcode 0 pokud proces běží a akceptuje signály a naopak pokud neběží  vrací 1.

havel@havel-machine:~$ echo $$
10231
havel@havel-machine:~$ /bin/bash
havel@havel-machine:~$ echo $$
12023
havel@havel-machine:~$ kill -0 12023
havel@havel-machine:~$ echo $?
0
havel@havel-machine:~$ exit
havel@havel-machine:~$ kill -0 12023
kill: kill 12023 failed: no such process
havel@havel-machine:~$ echo $?
1

Seznam dostupných signálů, 0 zde není. kill-monitoring-siglist

K čemu je to dobré? Napadá mě, využití např. jednoduché hlídání procesů (démonů) z /var/run/xyz.pid ( #kill -0 $(cat /var/run/crond.pid) ), určitě existují jiná i lepší řešení (a nevím zda-li parsování ps je ono nebo průchod /proc/<pid>), ale jak už někdo poznamenal, proč, protože můžem.

Užívejte moudře a opatrně, díky za pozornost.

František Havel, MOJEservery.cz