How to tell if a forked process is done?
Christos TZOTZIOY Georgiou
tzot at sil-tec.gr
Wed Sep 24 19:09:49 CEST 2003
On Wed, 24 Sep 2003 09:52:45 -0400, rumours say that François Pinard
<pinard at iro.umontreal.ca> might have written:
>> This will yield a false positive and potential damage if the OS has
>> spawned another process with the same pid, and running under your uid,
>> as the task you wanted to supervise.
>Granted in theory, yet this does not seem to be considered a real
>problem in practice. To generate another process with the same pid, the
>system would need to generate so many intermediate processes that the
>process counter would overflow and come back to its current value. The
>`kill(pid, 0)' trick is still the way people seem to do it.
>Do you know anything reasonably simple, safer, and that does the job?
Not that simple: a semaphore.
Not that safe: the existence of a semaphore file.
kill(pid,0) is ok; but a pipe and select would be useful too, safe and
relatively simple (for old Unix programmers at least :).
TZOTZIOY, I speak England very best,
Microsoft Security Alert: the Matrix began as open source.
More information about the Python-list