Given a pid, how can I tell if it's a running program?


Use kill() with 0 for the signal number.



There are four possible results from this call:






The most-used technique is to assume that success or failure with
EPERM implies that the process exists, and any other error
implies that it doesn't.



An alternative exists, if you are writing specifically for a system (or
all those systems) that provide a `/proc' filesystem: checking for
the existence of `/proc/PID' may work.




[an error occurred while processing this directive]