【发布时间】:2019-11-08 11:29:07
【问题描述】:
是否可以使用 python 杀死 另一个用户的进程:
import subprocess
def killProcess(pid):
p = subprocess.Popen(['sudo','kill','-9',str(pid)], stdout=subprocess.PIPE)
因为如果我执行这个,什么都不会发生。 如果我在终端中执行 sudo kill -9 pid ,无论我登录的是哪个用户,它都可以工作。所以我认为我的 Popen 执行有问题。我尝试杀死由 pythons 多处理模块生成的子进程。这些子流程中的每一个都会创建 tensorflow 实例。当主进程终止时,子进程仍然阻塞 GPU 内存,因此必须终止。
我也尝试了psutil.Process(pid).terminate() 方法。但随后我收到错误消息:
AccessDenied: psutil.AccessDenied (pid=326080)
有人有想法吗?
最好的问候!
【问题讨论】:
标签: python tensorflow multiprocessing subprocess sigkill