杀Windows步Popen过程中2.4
-
12-09-2019 - |
题
我有一个测试脚本需要打开一个进程(a火服务器),做一些东西,将调用开放过程的信息,而当这一切都将需要关闭进程回到下来。这是所有部分的一个自动化测试的一个暂存服务器。
在python2.6你可以这样做:
pyro_server = subprocess.Popen(['python', 'pyro_server.py'])
# Do stuff, making remote calls to the Pyro server on occasion
pyro_server.terminate()
唉,我被锁到蟒蛇2.4在这里工作所以我没有访问这一职能。如果我只是让脚底当然的服务器的生活。我应该怎么做到的关闭/杀了这一进程之前,脚本退出?
解决方案
考虑复制subprocess.py 你python2.4区包录。它应该只是工作,因为它是一个简单的包装的老popen图书馆。
该Popen目终止的功能并没有什么比如下:
导入操作系统、信号
操作系统。杀(pid,信号。SIGKILL)
pid是儿童过程中的进程id。信号。SIGKILL是9号,而是一个标准的unix杀了信号。你可以看到如何产卵子流程和获得其pid python2.4与popen模块 在这里,:
其他提示
@BrainCore:需要注意的是os.kill不适用于在python24窗口,检查文档
我的用于杀死Windows上的subprocess.Popen对象使用python24时是这样的解决方案:
import os, subprocess
p = subprocess.Popen(...)
res = os.system('taskkill /PID %d /F' % p.pid)
不隶属于 StackOverflow