Monitoring Processes with Kill
If you have a process ID but aren’t sure whether it’s valid, you can use the most unlikely of candidates to test it: the kill command. If you don’t see any reference to this on the kill(1) man page, check the info pages. The man/info page states that signal 0 is special and that the exit code from kill tells whether a signal could be sent to the specified process (or processes).
So kill -0 will not terminate the process, and the return status can be used to determine whether a process is running. For example:
$ echo $$ # show our process id
12833
$ /bin/bash # create new process
$ echo $$ # show new process id
12902
$ kill -0 12902
$ echo $? # exists, exit code is 0
0
$ exit # return to previous shell
$ kill -0 12902
bash: kill: (12902) - No such process
$ echo $? # doesn’t exist, exit code is 1
1
Many UNIX dæmons store their process IDs in a file in /var/run when they are started. Using kill -0 to test the pid is a lot easier than parsing ps output. For example, to test whether cron is running, do the following:
# kill -0 $(cat /var/run/cron.pid)
# echo $?
0
Popular Posts
-
How to block long list of consecutive IP address? How to call linux route command inside a script? How to block consecutive IP address usi...
-
Write small shell script to perform batch conversion. However it works only with files from current directory, and with files what has only ...
-
du stands for disk usage. This simple linux command provides a summary of harddisk or storage space disk usage. It has many parameter argume...
-
This article explains how set your PATH variable under Linux. This has the same use as that of setting the PATH variable under DOS. Under Li...
-
MooLux is a Live USB Linux distribution based on Slackware that utilizes the KDE desktop environment. MooLux is a portable operating sys...
-
Using imagemagick imagemagick is a collection of tools and libraries for image manipulation. Most distribustions come with imagemagick . ...
-
The bash shell maintains a history of the commands you entered. You can re-execute a command by recalling it from the history, without havin...
-
grep is by far the most popular command that exists in Unix. Though some may argue about that, but once you begin using grep, it would alway...
-
It is good to know that it's possible to play those classicNintendo NES games on any Android device with physical keyboard (Motorola Bac...
-
If you use Mozilla Thunderbird with KDE you already know that by default Thunderbird open hyperlinks in konqueror . If konqueror your main...