Estou executando um script de shell que está gravando em um arquivo.
Esse script pode levar muito tempo para ser concluído e eu gostaria de monitorar a saída parcial em vez de aguardar a conclusão do script inteiro.
É seguro abrir (clique duas vezes) um arquivo que está sendo gravado pelo script?
Respostas:
A leitura do arquivo é segura, embora o clique duplo que você mencionou provavelmente abra o arquivo em algum editor que oferecerá uma opção para fazer alterações e salvá-las. Ocorrem erros de cliques, por isso recomendo comandos que nem permitem alterar o arquivo.
Estes são exemplos que funcionam no terminal; eles apenas lerão o arquivo:
fonte
Contanto que você não esteja escrevendo, tudo ficará bem.
No entanto, eu recomendaria usar
em outro terminal.
Este comando "segue" o arquivo
log_file
e grava o conteúdo recém-adicionado assim que for atualizado pelo script.fonte
Representante insuficiente para adicionar um comentário à resposta de Kamil Maciorowski:
Para alguns arquivos, você deseja
tail -F file
que o seguinte continue por uma rotação. Assistindo syslog por exemplo.fonte
Caso o script (ou a implementação da estrutura subjacente) esteja abrindo e fechando repetidamente o identificador de arquivo durante seu trabalho, ele poderá encontrar um erro de violação de compartilhamento no modo de gravação subsequente aberto pelos seguintes motivos:
1) O script pode solicitar a gravação acesso no modo exclusivo (excluindo acesso de leitura simultâneo); portanto, se o seu programa editor / visualizador de arquivos ainda estiver lendo apenas o arquivo, ele poderá causar uma falha no script de gravação.
2) Além disso, alguns editores / visualizadores de arquivos bloqueiam o arquivo por toda a duração em que o arquivo é aberto.
Em conclusão, existem possíveis problemas que dependem do programa que você está usando para visualizar o arquivo. E há possíveis problemas decorrentes da implementação (ou da estrutura subjacente) do script que grava no arquivo.
fonte
tail -f
ouless +F
rotineiro.