Héc*_*orn 5 python subprocess raspberry-pi raspbian
我正在尝试创建一个Python程序,该程序可以定期轮询wifi嗅探工具airodump-ng的输出。我是在运行Raspbian和Python 3.4的RPI上执行此操作的,我已经在几个网站上查找了如何执行此操作,但是每当尝试执行此操作时,都会遇到某种僵局,程序会停顿。
我正在使用此代码:
import subprocess
airodump = subprocess.Popen(['sudo','airodump-ng','mon0'])
out,err = airodump.communicate(timeout=10)
Run Code Online (Sandbox Code Playgroud)
因此,很奇怪的是,当我在RPI上运行的IDLE中一一键入这些命令时,一切正常,但是10秒钟后出现超时错误。当不使用timeout参数时,程序只是停顿。使用额外的参数“ stdout = subprocess.PIPE”也不起作用。但是,当我进入终端并使用命令“ python3”启动python并在第一行和第二行中键入内容时,整个屏幕上都充满了airodump-ng的输出,我再也无法键入任何内容!
那么我该如何解决呢?我只想从airodump-ng获取最新输出,并且airodum-ng的输出可以在另一个线程的后台简单地更新。我只想要最新的输出。