Python:终止tensorflow子进程

2024-09-27 00:13:11 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以使用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)

有人有主意吗?你知道吗

致以最诚挚的问候!你知道吗


Tags: 用户import进程defstdoutsudopidpsutil
1条回答
网友
1楼 · 发布于 2024-09-27 00:13:11

尝试使用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()]

每个进程iter都有自己的.kill()属性。你知道吗

相关问题 更多 >

    热门问题