0
#!/usr/bin/python
import subprocess
import signal
import time
p=subprocess("adb devices")
p_id=p.pid
time.sleep
os.kill(p_pid,signal.SIGINT)
print "bye"
這是工作正常並打印「再見」,但下面的代碼沒有終止,持續打印日誌內容,並不會打印「再見」。子過程中取消活動日誌時失敗
#!/usr/bin/python
import subprocess
import signal
import time
p=subprocess("adb logcat -v time event")
p_id=p.pid
time.sleep
os.kill(p_pid,signal.SIGINT)
print "bye"
提前 布沙拉
你使用'os.kill()'和'p.kill()'的任何特殊原因? (後者將在Windows上正確切換到使用'terminate()'......在哪一點上,你能指定你的操作系統嗎?) –
順便說一句,'time.sleep'根本不會做任何事情。也許你的意思是'time.sleep(1)'或類似的東西? –
順便說一句,哪個版本的Python是這樣的?如果目標爲3.3或更高版本,我強烈建議使用'timeout ='參數來指定'Popen()';這樣你可以得到'sleep()'的效果,但是如果命令在超時之前退出,它會自動返回。 –