0

我正在尝试使用 pythonpsutil库来创建和终止进程。我的脚本启动了一个进程,然后尝试终止已启动的子进程。我在 Windows 和 Linux 下运行相同的代码。在 Windows 下一切正常。在 Linux 下psutils正确启动子进程(所以启动的应用程序是脚本的子进程,它以与脚本相同的权限执行,但是当我尝试终止进程时,它psutil会从进程中分离但不会终止。这是启动应用程序代码:

self.__proc = psutil.Popen(cmd, cwd=working_directory, env=env, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

在此之后,我尝试杀死启动的子进程:

self.__proc.kill()
        self.__proc = None

我用这个得到了同样的行为:

while psutil.pid_exists(pid):
    p = psutil.Process(pid)
    if p is not None:
        p.kill()

谁能解释为什么我不能杀死我启动的进程?我做错了什么?

我正在使用Python 2.7

4

0 回答 0