Solution 1 :
Le -C
flag affichera une barre de progression. Différences de performances selon la façon dont fsck est appelé.
Et très cool, si e2fsck
est déjà en cours d'exécution, vous pouvez envoyer un USR1
signal pour qu'il commence à afficher une barre de progression. USR2
arrêter. Exemple :
killall -USR1 e2fsck
Depuis 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.
Depuis 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.
Solution 2 :
à partir de la page de manuel pour la version 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.
donc je suppose que la réponse est
e2fsck -C 0 /dev/sda1
Solution 3 :
ps-ef | grep fsck
5079 5007 47 00:55 pts/1 00:08:25 /sbin/fsck.ext3 -yv /dev/hda2
avec l'identifiant du processus,
kill -USR1 5079
Solution 4 :
Pourquoi ?
Les systèmes BSD et leurs descendants ont le signal SIGINFO. Il oblige les programmes à afficher leur état actuel sur la console. De nombreux outils BSD de base connaissent ce signal et le prennent en charge. Vous pouvez envoyer ce signal à un processus en cours en utilisant Ctrl+T.
Les systèmes SysV n'ont pas un tel signal et pas de Ctrl+T non plus. Certains des outils Linux prennent en charge SIGUSR1 à la place. Je ne connais que "dd" et "e2fsck" mais il peut y en avoir plus. Il n'y a pas de Ctrl+ ? raccourci pour l'envoyer, vous devez donc le faire manuellement en utilisant "kill -USR1" sur le pid du processus.
La plupart des autres programmes réagiront à SIGUSR1 de la même manière qu'ils réagissent à SIGTERM (sortie), donc n'envoyez pas ce signal à moins que vous ne sachiez qu'il est pris en charge.