色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(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 編程
主站蜘蛛池模板: 亚洲国产欧美日韩精品一区二区三区 | 波野多结衣在线观看 | 日本人成18在线播放 | 日韩看片| 国产精品久久亚洲一区二区 | 免费播放巨茎人妖不卡片 | 亚洲精品一区二区中文 | 视频一区在线观看 | 97视频在线免费观看 | 情侣偷偷看的羞羞视频网站 | 欧美一级手机免费观看片 | 在线观看久草视频 | 在线观看国产 | 亚洲人成影院午夜网站 | 97免费视频免费视频 | 噜噜噜狠狠夜夜躁精品 | 国产毛片一级 | 中文字幕精品在线观看 | 成人影院vs一区二区 | 91精品国产福利尤物免费 | 中文字幕亚洲精品久久 | 国产精品视频男人的天堂 | 国产精品久久永久免费 | 日韩字幕 | 美女午夜色视频在线观看 | 久久久久久综合七次郎 | 久草视频福利资源站 | 久久厕所精品国产精品亚洲 | 亚洲日本中文字幕在线 | 91久久精品青青草原伊人 | 欧美一区亚洲二区 | 免费人成黄页网站在线观看国产 | 日日狠狠久久偷偷四色综合免费 | 国产成人精品免费视频大全五级 | 成年人在线免费网站 | 亚洲成a人片在线观看中文!!! | 成熟女人免费一级毛片 | 久久综合免费视频 | 精品欧美成人高清在线观看2021 | 日韩一区在线播放 | 欧美一区二区三区日韩免费播 |