您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用pid从Python终止进程?

如何使用pid从Python终止进程?

使用很棒的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.

:在以前的psutil版本中,cmdline属性 而不是方法

python 2022/1/1 18:21:49 有366人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶