0

有没有办法将 python2.6 与其中一个subprocess.Popen()os.system()运行两个任务一起使用?示例脚本将airodump-ng首先运行“”,然后这个进程是子进程并被隐藏(意味着不会从终端打印出来),然后继续运行包含“ sniff”函数的脚本的其余部分。我被研究过,但我只找到了windows版本和python3。顺便说一句,我在 debian 上运行。

4

2 回答 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 回答