通过Python子进程模块(airodump-ng)

时间:2015-10-31 14:35:02

标签: python aircrack-ng

我写了一个程序(我在终端中运行它),它通过一个终端命令列表(Kali Linux)。

import subprocess as sub
import time
sub.call(['airmon-ng', 'start', 'wlan0'])
p = sub.call(['airodump-ng','wlan0mon'])
time.sleep(10)
p.kill()

最后一个命令是airodump-ng wlan0mon。一切正常(一切都显示在终端(信标,essid等)。

在指定时间后,我希望终止进程(airodump-ng wlan0mon)。

我不想手动按 Ctrl + C p.kill()不起作用(可能是不当使用)。

我该怎么做?我应该通过子进程模块发送什么命令?

1 个答案:

答案 0 :(得分:0)

subprocess.call方法是高级API 在返回退出代码之前等待进程终止。如果您需要主进程在子进程运行时继续运行,则需要使用稍低级别的API:subprocess.Popen,它将在后台启动该进程。

使用p = sub.Popen(['airodump-ng','wlan0mon'])代替p = sub.call(['airodump-ng','wlan0mon'])应该有效。