我有一个测试脚本,需要打开一个进程(一个Pyro服务器),做一些事情来调用打开的进程来获取信息,当所有这些都完成后,需要关闭进程。这都是登台服务器上自动测试的一部分。在
在python 2.6中,可以执行以下操作:
pyro_server = subprocess.Popen(['python', 'pyro_server.py'])
# Do stuff, making remote calls to the Pyro server on occasion
pyro_server.terminate()
唉,我在这里工作时被锁定在Python2.4中,所以无法访问该函数。如果我让脚本结束,服务器当然会继续运行。在脚本退出之前,我应该做些什么来关闭/终止该进程?在
考虑复制子流程.py到python2.4 dist packages目录。它应该只是一个简单的包装,围绕着旧的波本图书馆。
Popen object terminate函数只执行以下操作:
导入操作系统,信号
在os.杀死(pid,SIGKILL信号)
pid是子进程的进程id。SIGKILL信号是数字9,是一个标准的unix终止信号。您可以看到如何在python2.4中使用popen模块here生成子进程并获取其pid:
@BrainCore:注意os.杀死在python24的windows上不可用,请检查文档。在
我的解决方案子流程.Popenwindows上使用python24时的对象是:
相关问题 更多 >
编程相关推荐