Ali*_*Ali 21 monitoring devices open-files
只是为了好玩:
有没有办法监视/捕获/转储正在写入的内容/dev/null
?
在 Debian 或 FreeBSD 上,如果重要的话,也欢迎任何其他特定于操作系统的解决方案。
Chr*_*own 12
制作/dev/null
命名管道可能是最简单的方法。请注意,某些程序(sshd
例如 )在发现它不是特殊文件(或者它们可能从 读取/dev/null
,期望它返回EOF
)时会异常运行或无法执行。
# Remove special file, create FIFO and read from it
rm /dev/null && mkfifo -m622 /dev/null && tail -f /dev/null
# Remove FIFO, recreate special file
rm /dev/null && mknod -m666 /dev/null c 1 3
Run Code Online (Sandbox Code Playgroud)
这应该适用于所有 Linux 发行版和所有主要 BSD。
有一次,我发现了的/ dev / null的不硬的方式必须是一个特殊的dev文件。很久以前,正在工作的 Ultrix 系统上的 /dev/null 被删除,所以下次程序重定向到 /dev/null 时,它最终成为一个充满该程序输出的普通文件。(我认为这是“没有这样的文件或目录”,这意味着当我们试图弄清楚发生了什么时,我们会这样做cat /dev/null
并被告知no such file or directory
这让我们感到困惑。)
所以我的建议是用命名管道替换它,然后将一个程序附加到管道上,该管道将读取它并监视它。
归档时间: |
|
查看次数: |
8124 次 |
最近记录: |