是否可以通过以下方式使用python杀死另一个用户的进程 :
import subprocess
def killProcess(pid):
p = subprocess.Popen(['sudo','kill','-9',str(pid)], stdout=subprocess.PIPE)
因为如果执行此操作,则什么也不会发生。 如果我在终端中执行sudo kill -9 pid,无论Iam登录到哪个用户,它都将起作用。因此,我认为我的Popen执行有问题。。我试图杀死由pythons多处理模块产生的子进程。这些子流程中的每一个都会创建张量流实例。当主进程终止后,子进程仍然阻塞GPU的内存,因此必须终止。
我还尝试了psutil.Process(pid).terminate()
方法。但是然后我收到错误消息:
AccessDenied: psutil.AccessDenied (pid=326080)
有人有主意吗?
最诚挚的问候!
答案 0 :(得分:0)
尝试使用psutil,
for i in psutil.process_iter():
if 'tensorflow' in i.name():
i.kill()
或
[i.kill() for i in psutil.process_iter() if 'tensorflow' in i.name()]
每个进程都具有自己的.kill()
属性。