2013-11-28 167 views
3

我发现了几种杀死子进程的方法。我想使用os.kill(pid)。但它不起作用,我想它应该。如何杀死一个子进程

def onExit(): 
    os.kill(logProc, 0) 
    QtCore.QCoreApplication.instance().quit 
    return 

button.clicked.connect(onExit) 

logProc=os.fork() 
if logProc>0: 
    proc() 
+0

'os.kill'不会杀死一个进程,它只是发送指定的信号给进程(是的,这是令人困惑的)。 –

回答

3

您应的信号通过像signal.SIGKILL(9),signal.SIGTERM(15),以终止该进程。

import signal 

... 

os.kill(logProc, signal.SIGKILL) 

根据Linux的kill(2)

如果sig0,然后没有信号发送,但是仍然执行错误检查;这可以用来检查是否存在进程ID或进程组ID。