无法在 Python 中终止 airodump 进程

Posted

技术标签:

【中文标题】无法在 Python 中终止 airodump 进程【英文标题】:Can't kill airodump process in Python 【发布时间】:2012-10-12 23:04:04 【问题描述】:

这可要了我的命。我整天都在做这个并且被卡住了。

我的目标是运行 airodump-ng 10 秒左右,然后终止该进程,以便生成的 csv 文件停止不断更新。

由于各种原因,我尝试了许多实施方式,但都没有成功。这是最基本的尝试:

command  = "airodump-ng -w airodump mon0"
airodump = subprocess.Popen([command],stdout=subprocess.PIPE,shell=True)
time.sleep(10)
airodump.terminate()
airodump.kill()
airodump.wait()
#trying to run a command like "kill <pid>" does not work either. 

如果我不在那里睡觉,有趣的是,这个过程永远不会创建。既然我这样做了,这个过程就会出现在屏幕上并且永远不会结束。从我收集的搜索结果来看,我可能正在处理一个完整的管道缓冲区。我不确定这意味着什么?这是否意味着这一进程刚刚接管了一切?这还有其他问题吗? airodump 是怎么回事,它不允许我像往常一样删除它的 Popen 对象和/或终止进程? (如果你不熟悉 airodump,它在行为上与 'top' 非常相似)

【问题讨论】:

我知道这不能回答你的问题,但kill -9 &lt;pid&gt; 强制终止进程。 如果 kill -9 不起作用,尝试 CTRL_C airodump 怎么样?这就是我在shell中使用它时退出它的方式,也许可以将相同的信号发送到子进程? 【参考方案1】:

在 Linux 上,以下解决方案应该会有所帮助: How to terminate a python subprocess launched with shell=True

你在窗户上吗?

【讨论】:

以上是关于无法在 Python 中终止 airodump 进程的主要内容,如果未能解决你的问题,请参考以下文章

无法终止python程序

如何在文件中保存15秒后输出命令?

关于无法启动MYSQL服务”1067 进程意外终止”解决办法

关于无法启动MYSQL服务”1067 进程意外终止”解决办法

无法在 Windows 上使用 Python 终止正在运行的子进程

无线攻击——aircrack-ng之Airodump-ng