GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo consigues que e2fsck muestre información de progreso?

Solución 1:

El -C bandera mostrará una barra de progreso. Diferencias de rendimiento dependiendo de cómo se llame a fsck.

Y muy chulo, si e2fsck ya se está ejecutando, puede enviar un USR1 señal para que comience a mostrar una barra de progreso. USR2 para detener. Ejemplo:

killall -USR1 e2fsck

Desde 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.

De 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.

Solución 2:

de la página man para la versión 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.

así que supongo que la respuesta es

e2fsck -C 0 /dev/sda1

Solución 3:

ps-ef | grep fsck

  5079  5007 47 00:55 pts/1    00:08:25 /sbin/fsck.ext3 -yv /dev/hda2

con el ID del proceso,

matar -USR1 5079

Solución 4:

¿Por qué?

Los sistemas BSD y sus descendientes tienen señal SIGINFO. Hace que los programas envíen su estado actual a la consola. Muchas herramientas básicas de BSD conocen esta señal y la admiten. Puede enviar esta señal a un proceso actual usando Ctrl+T.

Los sistemas SysV no tienen tal señal y tampoco Ctrl+T. Algunas de las herramientas de Linux admiten SIGUSR1 en su lugar. Solo sé sobre "dd" y "e2fsck", pero puede haber más. ¿No hay Ctrl+? acceso directo para enviarlo, por lo que debe hacerlo manualmente usando "kill -USR1" en el pid del proceso.

La mayoría de los otros programas reaccionarán a SIGUSR1 de la misma manera que reaccionan a SIGTERM (salir), así que no envíe esta señal a menos que sepa que es compatible.


Linux
  1. ¿Cómo empezaste con Linux?

  2. Por qué obtienes cp:error de directorio omitido en Linux y cómo resolverlo

  3. ¿Cómo mostrar solo la barra de progreso de wget?

  4. Cómo obtener el uso de la CPU

  5. ¿Cómo hago para que se muestre sar para el día anterior?

¿Cómo usar el comando DD Show Progress en Linux?

Cómo comprobar qué versión del kernel de Linux estoy ejecutando

Cómo obtener información sobre otros usuarios de Linux

Cómo mostrar el escritorio en GNOME

Cómo obtener información de hardware en Linux usando el comando dmidecode

Cómo obtener especificaciones de hardware de su sistema usando lshw Hardware Lister