Muchas veces cuando estamos ejecutando un proceso con el comando dd, una de las cosas que más echamos en falta, o yo por lo menos lo hago, es saber en qué punto está y cuanto le falta. Esto típicamente se conoce como una barra de progreso. Pues bien, os voy a enseñar un truco que permitirá saber el progreso de la ejecución de dd, aunque no en forma de barra, pero sí lo podría simular. Para saberlo, haremos uso del comando kill. Sí, kill se encarga de mandar señales y no sólo de matar procesos, aunque efectivamente algunas de las señales también matan los procesos.
Pues bien, vamos a ver a continuación cómo lograr saber el estado del comando durante el tiempo. Para ello partimos de una ejecución de dd, tal como esta, por ejemplo.
shell> dd if=/dev/zero of=file.img bs=1024 count=1048576
Con ello crearemos un fichero de 1,1Gb vacío. Mientras se está ejecutando en otra consola averiguamos el pid del proceso, ya que tenemos que saber a quién le hay que mandar la señal.
shell> ps aux |grep dd javier 17829 ... dd if=/dev/zero of=file.dd bs=1024 count=1048576 javier 17831 ... grep --color=auto dd
Aquí observamos que el pid del proceso dd es 17829, pues ahora le mandamos una señal de tipo USR1 para que nos informe del estado del proceso.
shell> kill -USR1 17829
Y cada vez que ejecutemos el kill con dicha seña, lo que nos aparecerá será la información de esta, similar a ésta,
739705+0 records in 739705+0 records out 757457920 bytes (757 MB) copied, 11,3332 s, 66,8 MB/s
No hay comentarios :
Publicar un comentario