Thomas Dybdahl Ahle wrote:

> Problem is - I can't do that when I get killed.
> Isn't it possible to open processes in such a way like terminals? If I
> kill the terminal, everything open in it will die too.

On POSIX platform you can use signals and ``os.kill`` function.
Fo example:

<code>
import os, signal
from subprocess import Popen
from time import sleep

def handler(signum, frame):
    print 'Signal handler called'
    raise KeyboardInterrupt

signal.signal(signal.SIGTERM, handler)

try:
    popen = Popen(["ping", "google.com"])
    try:
        sleep(100)
    except KeyboardInterrupt:
        pass
finally:
    if popen.poll() is None:
        print "killing process: %d" % popen.pid
        os.kill(popen.pid, signal.SIGTERM)
</code>

--
HTH,
Rob

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to