Python subprocess执行持续输出shell命令的控制
生活随笔
收集整理的這篇文章主要介紹了
Python subprocess执行持续输出shell命令的控制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
研究了大半天,為了獲取持續輸出的shell指令結果,并對結果進行分析,一直因為無法控制subprocess開啟的子進程頭疼,研究了半天,參考眾多大神的博客后,終于實現,目前已時間為控制點,在實際業務中,可以通過判斷業務執行是否完成來達到停止subprocess子進程的目的。
1 #程序執行終止時間為當前時刻延遲15秒 2 stoptime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()+10)) 3 def run_adbshell(): 4 p = subprocess.Popen(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True) 5 while True: 6 line=p.stdout.readline().strip() 7 print(line) 8 #當前時間 9 curtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) 10 if curtime>=stoptime: 11 #終止子進程 12 p.terminate() 13 #等待子進程終止后跳出while循環 14 if subprocess.Popen.poll(p) is not None: 15 break 16 else: 17 print(u'等待subprocess子進程終止。') 18 print(u'完成')?
轉載于:https://www.cnblogs.com/ListenWind/p/5626957.html
總結
以上是生活随笔為你收集整理的Python subprocess执行持续输出shell命令的控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ThinkPHP(3)SQL查询语句
- 下一篇: monkeyrunner自动登录脚本