If you already know the process id(s), and own the processes, the kill builtin function might be of use.
From the doco:
kill SIGNAL, LIST
....
$cnt = kill 1, $child1, $child2
kill 9, @goners;
If SIGNAL is zero, no signal is sent to the process, but the
kill(2) system call will check whether it's possible to send
a signal to it (that means, to be brief, that the process is
owned by the same user, or we are the super user). This is
a useful way to check that a child process is alive.
| [reply] |
Alas, this didn't work for me. I'm trying to see from a web page whether a daemon that should be running as root is actually there. The apache user can't issue a kill 0 to root's process (well it can, but it doesn't report the result correctly)
| [reply] |
I recommended Parallel::Forker to someone else recently, and they had a similar problem ( how to kill deattached process ). Parallel::Forker has a poll method which should allow you to service any processes you have launched. Admittedly this doesn't work if you want to manipulate *any* process on the machine, but maybe it will help you...
Just a something something...
| [reply] [d/l] [select] |
Thanks, but it's no what I'm after. I don't launch the process - I just want to see if it exists
| [reply] |