解決策 1:
-C
flag は進行状況バーを表示します。 fsck の呼び出し方法によるパフォーマンスの違い。
e2fsck
の場合、非常にクールです USR1
を送信できます プログレスバーの表示を開始するための信号。 USR2
止まる。例:
killall -USR1 e2fsck
FSCK(8) から:
-C Display completion/progress bars for those filesys-
tems checkers (currently only for ext2) which sup-
port them. Fsck will manage the filesystem check-
ers so that only one of them will display a
progress bar at a time.
E2FSCK(8) から:
-C fd This option causes e2fsck to write completion
information to the specified file descriptor so
that the progress of the filesystem check can be
monitored. This option is typically used by pro-
grams which are running e2fsck. If the file
descriptor specified is 0, e2fsck will print a com-
pletion bar as it goes about its business. This
requires that e2fsck is running on a video console
or terminal.
解決策 2:
バージョン 1.41 の man ページから
-C fd This option causes e2fsck to write completion information to the specified file descriptor so that the progress of the
filesystem check can be monitored. This option is typically used by programs which are running e2fsck. If the file
descriptor number is negative, then absolute value of the file descriptor will be used, and the progress information
will be suppressed initially. It can later be enabled by sending the e2fsck process a SIGUSR1 signal. If the file
descriptor specified is 0, e2fsck will print a completion bar as it goes about its business. This requires that
e2fsck is running on a video console or terminal.
答えはきっと
e2fsck -C 0 /dev/sda1
解決策 3:
ps -ef | grep fsck
5079 5007 47 00:55 pts/1 00:08:25 /sbin/fsck.ext3 -yv /dev/hda2
プロセス ID、
kill -USR1 5079
解決策 4:
なぜですか?
BSD システムとその子孫には SIGINFO シグナルがあります。プログラムが現在のステータスをコンソールに出力するようにします。多くの基本的な BSD ツールは、このシグナルを認識してサポートしています。 Ctrl+T を使用して、このシグナルを現在のプロセスに送信できます。
SysV システムにはそのようなシグナルはなく、Ctrl+T もありません。一部の Linux ツールは、代わりに SIGUSR1 をサポートしています。 「dd」と「e2fsck」しか知りませんが、他にもあるかもしれません。 Ctrl+はありませんか?そのため、プロセスの pid で「kill -USR1」を使用して手動で送信する必要があります。
他のほとんどのプログラムは、SIGTERM (終了) に反応するのと同じように SIGUSR1 に反応するので、サポートされていることがわかっていない限り、このシグナルを送信しないでください。