我尝试使用python psutil
库来创建和终止进程。我的脚本启动一个进程,然后尝试终止已启动的子进程。我在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 。