有没有办法使用python2.6与subprocess.Popen()
或os.system()
运行两个任务?示例脚本将首先运行“airodump-ng
”,然后此进程为sub并隐藏(意味着不会从终端打印出来),之后继续运行包含“sniff
”功能的脚本的其余部分Scapy的。我一直在研究,但我只发现了Windows版本和python3。顺便说一句,我在debian上运行。
答案 0 :(得分: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)
答案 1 :(得分:0)
在您放置命令的地方timeout 'X's airodump-ng mon'X'
将该部分替换为scan