当我执行命令 airodump-ng mon0 >> output.txt 时,output.txt 为空。我需要能够运行 airodump-ng mon0 并在大约 5 秒后停止命令,然后才能访问其输出。我应该从哪里开始寻找任何想法?我正在使用 bash。
最佳答案
将命令作为后台进程启动,休眠 5 秒,然后终止后台进程。您可能需要重定向与 STDOUT 不同的流以捕获文件中的输出。 This thread提到 STDERR(这将是 FD 2)。我无法在这里验证这一点,但您可以使用 strace
检查描述符编号。该命令应显示如下内容:
$ <b>strace airodump-ng mon0 2>&1 | grep ^write</b>
...
write(<b>2</b>, "...
write
语句中的数字是 airodump-ng
写入的文件描述符。
脚本可能看起来像这样(假设需要重定向 STDERR):
#!/bin/bash
{ airodump-ng mon0 2>> output.txt; } &
PID=$!
sleep 5
kill -TERM $PID
cat output.txt
关于bash - 从 airodump-ng 读取实时输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17776383/