O que o comando pkill -USR1 -n -x dd significa exatamente?

9

Estou usando dd para fazer uma transferência de rede de uma imagem de disco para um cartão SD no meu BeagleBone.

Usar pkill -USR1 -n -x dd em uma conexão ssh com este BeagleBone me fornece uma atualização de status do processo de transferência, o que é ótimo. Estou apenas curioso para saber como isso funciona para que eu possa usá-lo efetivamente no futuro.

Depois de ler man pkill , ele ainda não explicou totalmente como pkill -USR1 -n -x dd está funcionando para me dar essa atualização de status muito útil.

    
por user391339 20.10.2014 / 02:42

1 resposta

12

Este é um comportamento específico para dd . Na página dd man:

Sending a USR1 signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying.

$ dd if=/dev/zero of=/dev/null& pid=$!
$ kill -USR1 $pid; sleep 1; kill $pid

18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied,  34.6279  seconds, 271 MB/s

-USR1 diz a pkill para enviar o sinal USR1 . -n e -x são apenas filtros para garantir o envio para o processo certo ( -n envia para o processo mais recente e -x significa que o processo deve ser nomeado exatamente dd )

    
por 20.10.2014 / 02:46

Tags