Python使用subprocess.Popen创建的进程无法彻底关闭。

SSmail 发布于 2013/09/08 08:07
阅读 4K+
收藏 0
各位好:

最近在写一个程序,我需要使用
mProcess = subprocess.Popen(shellLine)
来创建我的进程。例如 在windows平台:shellLine = 'monkeyrunner test.py emulator-5554'当进程创建完成后,过5S后,我使用
mProcess.kill()这个函数去结束该进程,系统没有任何提示,我们姑且认为该函数生效,但该进程依然会继续的输出
信息。后来尝试了使用os.kill(), os.terminate 也无法生效,请问各位能否帮忙解决?

加载中
0
SSmail
SSmail
import os
import time
import subprocess
import signal

try:
	mProcess = subprocess.Popen('monkeyrunner test.py emulator-5554')
except:
	print 'error'


time.sleep(3)

try:
	#mProcess.send_signal(signal.CTRL_C_EVENT)
	#mProcess.send_signal(signal.CTRL_BREAK_EVENT )
	mProcess.terminate()
	pass
except:
	print 'error'

print 'you are finished'

time.sleep(4)
0
南阳人
南阳人
碰到同样的问题了,楼主怎么解决的?
l
lankong
用psutil可以
0
codec-avs
codec-avs
我也发现了同样的问题,调用的ffprobe残留在系统中,虽然我已经terminate()掉了
返回顶部
顶部