使用很棒的psutil
库非常简单:
p = psutil.Process(pid)
p.terminate() #or p.kill()
如果您不想安装新的库,可以使用以下os
模块:
import os
import signal
os.kill(pid, signal.SIGTERM) #or signal.SIGKILL
另请参阅os.kill
文档。
如果您有兴趣在命令python StripCore.py
未运行时启动 它,否则将其杀死,则可以psutil
可靠地使用它。
就像是:
import psutil
from subprocess import Popen
for process in psutil.process_iter():
if process.cmdline() == ['python', 'StripCore.py']:
print('Process found. Terminating it.')
process.terminate()
break
else:
print('Process not found: starting it.')
Popen(['python', 'StripCore.py'])
样品运行:
$python test_strip.py #test_strip.py contains the code above
Process not found: starting it.
$python test_strip.py
Process found. Terminating it.
$python test_strip.py
Process not found: starting it.
$killall python
$python test_strip.py
Process not found: starting it.
$python test_strip.py
Process found. Terminating it.
$python test_strip.py
Process not found: starting it.