4

这是要了我的命。我整天都在这,我被困住了。

我的目标是运行 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”非常相似)

4

1 回答 1

0

在 Linux 上,以下解决方案应该会有所帮助: 如何终止使用 shell=True 启动的 python 子进程

你在窗户上吗?

于 2012-10-26T23:58:24.817 回答