GNU/Linux >> Linux Esercitazione >  >> Linux

Come si ottiene e2fsck per mostrare le informazioni sullo stato di avanzamento?

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.


Linux
  1. Come hai iniziato con Linux?

  2. Perché ottieni cp:omettere l'errore di directory in Linux e come risolverlo

  3. Come mostrare solo la barra di avanzamento di wget?

  4. Come ottenere l'utilizzo della CPU

  5. Come faccio a mostrare sar per il giorno precedente?

Come utilizzare il comando DD Show Progress in Linux?

Come verificare quale versione del kernel Linux sto utilizzando

Come ottenere informazioni su altri utenti Linux

Come mostrare il desktop in GNOME

Come ottenere informazioni sull'hardware su Linux utilizzando il comando dmidecode

Come ottenere le specifiche hardware del tuo sistema utilizzando lshw Hardware Lister