【发布时间】:2014-02-01 10:10:43
【问题描述】:
我正在尝试在 Linux 中使用 airmon-ng 脚本进行一些实验。同时,我想将进程“airodump-ng mon0”的输出重定向到文件。我可以在屏幕上看到瞬时输出。这个进程的特点是它不会停止执行(实际上它是一个扫描AP和客户端的脚本,它会继续扫描),除非我们使用ctrl+c。 每当我尝试
airodump-ng mon0 > file.txt
我不会得到文件中的输出。 我的主要假设是 shell 只有在完成执行后才会将其写入文件。但在上述情况下,我停止了执行(因为执行不会完成)。
所以概括地说,我不能将正在运行的进程的输出通过管道传输到文件。我怎样才能做到这一点? 或者有没有其他方法可以停止进程的执行(例如 5 秒后)并将当前输出重定向到文件?
【问题讨论】:
-
您是否检查过您是否仍然在终端上看到输出?如果你这样做了,那么你就没有捕捉到它。可能是程序实际上打印到 stderr 而不是 stdout,那么您必须改为
2>file.txt。据我所知,重定向应该或多或少立即起作用(无需等到程序完成) -
你用的是什么外壳?重击? zsh? tcsh? csh?
-
发现这可能对realtime reading有帮助