Mon, 2 Jan 2012 19:16:50 -0800 (PST) Adam Skutt a écrit: > No. It is possible (however unlikely) for EPERM to be legitimately > returned in this case. Anything other than EINVAL should be > interpreted as "The child process is dead". Hence why you should > avoid sending the signal in the first place: the situations where you > don't run the risk of possibly killing an innocent bystander are > pretty narrow. While unlikely on modern UNiX and Linux, IMO it's best > to avoid the issue altogether whenever possible.
Should I understand that Popen.send_signal blindly sends the signal to the process of PID Popen.pid, and therefore could kill a new process of the same PID that would have been launched by the same user in another program ? In other words, if a user launches my python program, which in its turn launches a subprocess of PID N, then the subprocess dies, then the same user launches a terminal that gets the same PID (N), what happens if my python program calls Popen.send_signal(SIGINT) ? Does it kill the terminal ? If so, I don't see how I can protect myself from that. Checking the process is alive and then hoping that the time interval for the race condition is so small that there are few chances for that to happen (because the OS quarantines PID numbers for a while, for instance) ? -- Jérôme -- http://mail.python.org/mailman/listinfo/python-list