如何使用Python子进程模块停止airodump-ng

时间:2015-10-31 14:32:18

标签: python

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

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-cp.kill()不起作用(可能是不当使用)

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

2 个答案:

答案 0 :(得分:-1)

您可以使用子流程来运行" killall airodump-ng"。

但是,如果你这样做,你也可以把整个事情转换为bash脚本。

答案 1 :(得分:-1)

subprocess.call()在Python程序执行下一个语句之前等待子进程完成。您将需要使用subprocess.Popen()初始化单独的(“后台”)进程,然后继续您的Python程序。

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