为什么在没有用户交互的情况下调用 dumpe2fs?

UTF*_*F-8 5 linux filesystems hard-disk e2fsprogs

我在这里发布了一个问题,因为我的 HDD 无缘无故地不断旋转,我想找出是什么过程导致它们旋转。

在对该问题的评论中,有人告诉我使用iosnoopwhich(没有任何参数或开关)在其中一个 HDD 随机旋转的几分钟内生成了几百行。复制输出并告诉 Emacs 删除所有带有与 SD 卡对应的设备号的行(关于我不关心的访问)后,我只剩下这个:

COMM         PID    TYPE DEV      BLOCK        BYTES     LATms
dumpe2fs     19467  R    8,0      272648       4096      23.25
^C
Ending tracing...
Run Code Online (Sandbox Code Playgroud)

由于只剩下 1 行数据,因此假设已经确定了罪魁祸首似乎是合理的。但是为什么是dumpe2fs随机调用呢?更重要的是:如何让它停止,最好不要破坏东西(重命名相应文件的肮脏解决方案可能会这样做)?

sudo dumpe2fs /dev/sda1手动运行确实会使相应的 HDD 旋转。但是,该命令确实已经返回其输出并在 HDD 旋转之前终止(没有我在 HDD 旋转时访问文件时遇到的 ~ 7 秒延迟)。

我使用 Ubuntu Mate 16.04。

Ste*_*itt 5

要弄清楚为什么dumpe2fs正在运行,您可以将其替换为记录器。重命名/sbin/dumpe2fs/sbin/dumpe2fs.real,并创建一个名为/sbin/dumpe2fscontains的脚本

#!/bin/sh
echo dumpe2fs "$@" >> /var/log/dumpe2fs-search.log
date >> /var/log/dumpe2fs-search.log
pstree >> /var/log/dumpe2fs-search.log
exec dumpe2fs.real "$@"
Run Code Online (Sandbox Code Playgroud)

然后查看日志文件以确定正在运行的内容dumpe2fs...