有没有办法将 python2.6 与其中一个subprocess.Popen()
或os.system()
运行两个任务一起使用?示例脚本将airodump-ng
首先运行“”,然后这个进程是子进程并被隐藏(意味着不会从终端打印出来),然后继续运行包含“ sniff
”函数的脚本的其余部分。我被研究过,但我只找到了windows版本和python3。顺便说一句,我在 debian 上运行。
问问题
656 次
2 回答
1
subprocess.Popen
结合使用subprocess.PIPE
:
p = Popen(['airodump-ng', …], stdin=PIPE, stdout=PIPE, stderr=PIPE)
如果您想等到该过程完成使用:
stdout, stderr = p.communicate()
如果您省略上面的代码,airodump-ng
将在后台运行并且不会产生可见的输出,而您可以继续使用您的 python 代码。
另一种方法是使用os.devnull
重定向到的输出airodump-ng
,这将完全摆脱产生的任何输出:
devnull = os.open(os.devnull, os.O_WRONLY)
p = Popen(['airodump-n', …], stdout=devnull, stderr=devnull)
于 2012-07-21T08:40:44.647 回答
0
在您放置命令的地方,airodump-ng
将该部分替换为timeout 'X's airodump-ng mon'X'
于 2016-09-05T20:43:10.037 回答