Soluzione 1:
Il -C
flag visualizzerà una barra di avanzamento. Differenze di prestazioni a seconda di come viene chiamato fsck.
E molto bello, se e2fsck
è già in esecuzione, puoi inviare un USR1
segnale per iniziare a visualizzare una barra di avanzamento. USR2
fermare. Esempio:
killall -USR1 e2fsck
Da 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.
Da 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.
Soluzione 2:
dalla pagina man per la versione 1.41
-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.
quindi immagino che la risposta sia
e2fsck -C 0 /dev/sda1
Soluzione 3:
ps -ef | grepfsck
5079 5007 47 00:55 pts/1 00:08:25 /sbin/fsck.ext3 -yv /dev/hda2
con l'ID processo,
kill -USR1 5079
Soluzione 4:
Perché?
I sistemi BSD e i loro discendenti hanno il segnale SIGINFO. Fa in modo che i programmi inviino il loro stato corrente alla console. Molti strumenti BSD di base conoscono questo segnale e lo supportano. Puoi inviare questo segnale a un processo corrente usando Ctrl+T.
I sistemi SysV non hanno tale segnale e neanche Ctrl+T. Alcuni degli strumenti Linux supportano invece SIGUSR1. Conosco solo "dd" e "e2fsck" ma ce ne possono essere altri. Non c'è Ctrl+? scorciatoia per inviarlo, quindi devi farlo manualmente usando "kill -USR1" sul pid del processo.
La maggior parte degli altri programmi reagirà a SIGUSR1 nello stesso modo in cui reagisce a SIGTERM (uscita), quindi non inviare questo segnale a meno che tu non sappia che è supportato.