国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

python - subprocess.Popen執(zhí)行命令后stdout.read()到的信息為空,是路由原因還是自身程序問題?

瀏覽:114日期:2022-06-29 16:58:15

問題描述

下面的代碼是我日常用來監(jiān)測網(wǎng)絡(luò)聯(lián)通性的,昨天之前(截止到前天晚上)都可以獲取到返回的信息,而昨天開始stdout.read()讀到的內(nèi)容就是空。 我直接在CMD窗口ping主機返回的信息是聯(lián)通的,用call方法取到的返回信息也正常。請大神幫忙解惑

cmd=’ping 10.9.88.69’P=subpross.Popen(cmd,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)reshult=p.stdout.read()

問題解答

回答1:

你這個命令ping 10.9.88.69 在linux環(huán)境下是不會停止的,而且subprocess.Popen默認是等待命令結(jié)束才返回結(jié)果,是阻塞的

可以這樣

1.讓ping早點結(jié)束 加多個以參數(shù) -c 指定下ping的次數(shù)

cmd=’ping 10.9.88.69 -c 3’P=subpross.Popen(cmd,stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True)reshult=p.stdout.read()

2.把阻塞變?yōu)椴蛔枞?/p>

import osimport timeimport fcntlimport subprocesscmd = ’ping 10.9.88.69’p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,shell=True)fd = p.stdout.fileno()fl = fcntl.fcntl(fd, fcntl.F_GETFL)fcntl.fcntl(fd, fcntl.F_SETFL, fl | os.O_NONBLOCK)while True: try:line = p.stdout.readline()print(line) except:time.sleep(1)

標簽: Python 編程
主站蜘蛛池模板: 精品三级网站 | 亚洲欧美成人综合久久久 | 91精品国产免费久久久久久青草 | 日本国产免费一区不卡在线 | 大焦伊人 | 99久久精品自在自看国产 | 九九视频精品在线 | 国产黄网 | 午夜在线观看cao | 国产欧美久久久精品影院 | 一级爱爱片一级毛片-一毛 一级爱做片免费观看久久 一级白嫩美女毛片免费 | 99久久精品久久久久久清纯 | 思思久热re6这里有精品 | 欧洲一级毛片 | 综合图片亚洲网友自拍10p | 一级特黄特黄毛片欧美的 | 成人免费国产欧美日韩你懂的 | 九九精品视频在线播放8 | 99久久精品费精品国产一区二区 | 在线aaa | 草草视频免费观看 | 国产精品视频网址 | 国产精品久久久久久久y | 国产三级免费观看 | 日本高清不卡中文字幕 | 欧美一做特黄毛片 | 欧美成人高清性色生活 | 精品视频99 | 国产精品毛片 | 久久久久国产精品免费网站 | 久久国产夜色精品噜噜亚洲a | 久久久www成人免费精品 | 欧美区一区 | 欧美高清正版在线 | 手机看片精品高清国产日韩 | 视频一区色眯眯视频在线 | 一级做a爰片久久毛片苍井优 | 99爱在线观看精品视频 | 日本免费视频观看在线播放 | 免费一区区三区四区 | 久久亚洲国产午夜精品理论片 |