Python subprocess执行持续输出shell命令的控制
生活随笔
收集整理的這篇文章主要介紹了
Python subprocess执行持续输出shell命令的控制
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
研究了大半天,為了獲取持續(xù)輸出的shell指令結(jié)果,并對(duì)結(jié)果進(jìn)行分析,一直因?yàn)闊o(wú)法控制subprocess開啟的子進(jìn)程頭疼,研究了半天,參考眾多大神的博客后,終于實(shí)現(xiàn),目前已時(shí)間為控制點(diǎn),在實(shí)際業(yè)務(wù)中,可以通過(guò)判斷業(yè)務(wù)執(zhí)行是否完成來(lái)達(dá)到停止subprocess子進(jìn)程的目的。
1 #程序執(zhí)行終止時(shí)間為當(dāng)前時(shí)刻延遲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 #當(dāng)前時(shí)間 9 curtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) 10 if curtime>=stoptime: 11 #終止子進(jìn)程 12 p.terminate() 13 #等待子進(jìn)程終止后跳出while循環(huán) 14 if subprocess.Popen.poll(p) is not None: 15 break 16 else: 17 print(u'等待subprocess子進(jìn)程終止。') 18 print(u'完成')?
轉(zhuǎn)載于:https://www.cnblogs.com/ListenWind/p/5626957.html
總結(jié)
以上是生活随笔為你收集整理的Python subprocess执行持续输出shell命令的控制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ThinkPHP(3)SQL查询语句
- 下一篇: Learning Python 009