bash - 从 airodump-ng 读取实时输出

标签 bash redirect file-io

当我执行命令 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/

相关文章:

bash - 如何使用 sed 在行后插入换行符/换行符

bash - 在 bash postgresql psql 命令行中转义连字符

asp.net-mvc-3 - MVC 3 重定向到子域上的操作

ruby-on-rails - 重定向不起作用

java - 如何设计保存/打印文件?

c# - 有没有办法从使用 C# 阻止文件的进程中获取 PID?

Java MySQL使用BasicFileAttributes插入图像文件上次访问时间

java - bashrc 不识别 java 主目录

bash - 从 shell 命令的响应中获取文本

linux - 网站版本控制实践