显然几个月来,某些进程每分钟都会在 /tmp 中创建一个空的 .svg 文件并将其留在那里。我现在已经积累了 43,000 个这样的 262 字节文件。我可以定期删除它们,但如果我能找到原因甚至阻止它,那就太好了。
有谁知道这可能是什么,或者如何找出答案?我不想尝试弄清楚如何在单独的文件系统上重新安装 /tmp,例如这个答案,并且auditctl对我不起作用。如果缺少这些方法,我是否只能在循环中运行 lsof ?它还没有产生任何成果。
这是 .svg 的内容(始终相同):
$ cat /tmp/tmpuo80js2t.svg
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg id="empty" xmlns="http://www.w3.org/2000/svg" height="22" width="1" version="1.0" xmlns:xlink="http://www.w3.org/1999/xlink"></svg>
更新:文件名模式是/tmp/tmp????????.svg
.一些例子:
/tmp/tmpsxzk1ktl.svg
/tmp/tmpti2by97z.svg
/tmp/tmp0woym_0_.svg
答案1
好吧,事实证明我没有正确理解auditctl。我能够用它来追踪罪魁祸首。
原来是这样指标系统监视器。它周期性死亡在 Ubuntu 上,所以我将其包装在一个每分钟重新启动一次的脚本中。我认为它只在启动时创建这个文件,也许我杀死它的方式并没有给它一个清理的机会。 (我假设错误是我造成的,而不是它无法自行清除。)
对于后代,这是我追踪它的方法。
首先,我开始auditd
观看/tmp
:
$ sudo auditctl -w /tmp
然后,在它观察了足够长的时间来记录其中一个文件的创建之后,我选择了最新的一个并在日志中搜索它:
$ ls -lt /tmp/tmp*.svg | head -n 1
-rw------- 1 me me 262 Jul 5 13:42 /tmp/tmp4i0zh3mj.svg
$ ausearch -i -f /tmp/tmp4i0zh3mj.svg
输出包含多个进程的多个条目,但只有一个条目的nametype
为CREATE
。proctitle
该指令的命令 ( ) 是/usr/bin/python3 /usr/bin/indicator-sysmonitor
。