Monitorar o progresso do chmod

3

Atualmente estou alterando as permissões e a propriedade em um disco rígido de 4 TB preenchido com arquivos. É possível monitorar o progresso de comandos como chmod e chown?

    
por vasc0x 10.12.2016 / 00:07

3 respostas

3

Você pode anexar ao processo em execução e ver o que está fazendo agora. Isso lhe dará uma ideia de onde está.

strace -p1234

em que 1234 é o ID do processo chmod . Note que muitos sistemas restringem os usuários não-root a monitorar apenas processos filhos, então você teria que fazer isso como root; consulte após a atualização, o gdb não será anexado ao processo .

Saber qual arquivo está sendo processado atualmente não fornece uma maneira fácil de saber o que já foi processado. chmod atravessa a árvore de arquivos em primeira ordem e percorre cada diretório na ordem de diretórios (a ordem de ls -U , que não é igual à ordem de ls em geral).

Seria bom saber quantos arquivos o processo já processou, e isso pode ser determinado pelo menos aproximadamente sabendo quantas chamadas de sistema o processo fez, mas até onde eu sei, o Linux não rastreia quantas chamadas do sistema um processo fez.

    
por 11.12.2016 / 01:11
1

Em geral, não, não sem algum sinalizador para mostrar o que um programa está fazendo, com o sinalizador sendo especificado quando o processo é iniciado. (Se você torná-lo detalhado, também certifique-se de colocá-lo em uma sessão screen ou tmux para que você possa se reconectar a ele conforme necessário ...)

Alguns utilitários (por exemplo, dd ) aceitam um sinal de usuário para alternar a verbosidade (por exemplo, através do sinal USR1 , pkill -USR1 dd ), mas isso varia de acordo com o aplicativo ( USR1 por padrão apenas mata um processo; ).

Indicações indiretas são outro método, por ex. execute top , assumindo que os processos geram carga suficiente de CPU ou de E / S para que ela se destaque (algo que aguarda resultados de rede pode não parecer estar fazendo muito).

O rastreamento de processos também é possível, embora possa desacelerar terrivelmente o sistema (por exemplo, strace ); ferramentas menos dispendiosas para essa verificação seriam dtrace ou similar, o que pode coletar amostras e relatar um resumo sobre quantas chamadas relevantes do sistema chmod está realizando com alguma duração.

    
por 10.12.2016 / 00:50
0

Você pode examinar o comando pv . Eu não tenho isso neste sistema no momento, mas ajuda você a monitorar os fluxos de tubos.

Estou assumindo que você está fazendo algo como:

find stuff -exec chmod 664 {} \;

Você pode dividir o comando usando pipes e, em seguida, inserir pv ou tee para monitorar onde as coisas estavam.

Eu percebo que não cozinhei uma resposta, mas talvez essas ideias ajudem.

    
por 10.12.2016 / 04:18