有些东西在 /tmp 中创建了数千个 .svg 文件并且没有删除它们

有些东西在 /tmp 中创建了数千个 .svg 文件并且没有删除它们

显然几个月来,某些进程每分钟都会在 /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

输出包含多个进程的多个条目,但只有一个条目的nametypeCREATEproctitle该指令的命令 ( ) 是/usr/bin/python3 /usr/bin/indicator-sysmonitor

相关内容