我将 Ubuntu 从 14.01 更新到了 17.10。现在我得到了一个名为/dev/nul
以下文本的文件。
#############
error: conflicting format options
Usage:
ps [options]
Try 'ps --help <simple|list|output|threads|misc|all>'
or 'ps --help <s|l|o|t|m|a>'
for additional help text.
For more details see ps(1).
####################
我如何找出导致创建此文件的原因。我删除了该文件,但它又回来了。
答案1
ps
是一个命令行实用程序,用于列出正在运行的进程。将不需要输出的命令的输出重定向到 是一种常见的做法/dev/null
,这就像 Linux 的“黑洞”,允许任何内容写入其中,但读取时没有任何结果。从这个样子来看,某些东西正在运行ps
并将输出重定向到/dev/nul
(即有人在某处输入了一个类型)。显示有关冲突选项的错误这一事实ps
表明有人在那里也输入了错误。看起来可以使用inotify
在文件创建/编辑时通知(但您必须将其保留在那里,而不能删除它)。使用以下方式安装
$ apt update
$ apt install inotify-tools
然后尝试
$ inotifywait -m --format /dev/nul
当有东西编辑它时,它会提醒你。但它不会告诉你是什么编辑了它。试着在终端中打开它,看看当你做或打开任何特定的东西时是否会发生这种情况(或者它是否只是自己这样做)。
答案2
我find . / 2> | xargs grep '/dev/nul' 2>
在服务器上运行以查找该字符串的所有实例。我将结果复制到文本编辑器中。我将所有内容替换/dev/null
为空白。然后我能够搜索以/dev/nul
找到问题文件。它是一个 perl 文件,作为 Ubuntu 代表之外的软件包的一部分安装。感谢 Aaron 提供的提示inotify
。