我在一个非常大 (1TB+) 的 ext3 磁盘上运行 e2fsk
e2fsck -v /dev/sda1
从使用 PXE 引导的 RIPLinux。
我明白了
e2fsck 1.41.6 (30-May-2009)
/dev/sda1 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
然后是很长的停顿……
我如何了解活动?
理想情况下,完成项目的计数与总数和某种 ETA。
该
-C
标志将显示一个进度条。性能差异取决于 fsck 的调用方式。而且很酷,如果
e2fsck
已经在运行,你可以发送一个USR1
信号让它开始显示一个进度条。USR2
停止。例子:killall -USR1 e2fsck
来自 FSCK(8):
从 E2FSCK(8) 开始:
来自版本 1.41 的手册页
所以我想答案是
ps -ef | grep fsck
使用进程 ID,
杀死-USR1 5079
为什么?
BSD 系统及其后代具有 SIGINFO 信号。它使程序将其当前状态输出到控制台。许多基本的 BSD 工具都知道这个信号并支持它。您可以使用 Ctrl+T 将此信号发送到当前进程。
SysV 系统没有这样的信号,也没有 Ctrl+T。一些 Linux 工具支持 SIGUSR1。我只知道“dd”和“e2fsck”,但还有更多。没有Ctrl+?发送它的快捷方式,因此您必须在进程的 pid 上使用“kill -USR1”手动完成。
大多数其他程序对 SIGUSR1 的反应与对 SIGTERM(退出)的反应方式相同,因此除非您知道它受支持,否则不要发送此信号。