小编典典
使用很棒的psutil库非常简单:
p = psutil.Process(pid)
p.terminate() #or p.kill()
如果您不想安装新的库,可以使用以下os模块:
import os
import signal
os.kill(pid, signal.SIGTERM) #or signal.SIGKILL
如果您有兴趣在命令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.
注意 :在以前的psutil版本中,cmdline是 属性 而不是方法。
2020-06-02