Verifique se o arquivo não está sendo gravado antes de passar para o shell script

2

Eu preciso escrever um script Unix Shell Script tran.sh que mova os arquivos de entrada csv da pasta /exp/files para o diretório /exp/ready . Os arquivos de entrada csv são gravados na pasta /exp/files por um servidor SFTP cujo comportamento não posso alterar trivialmente.

No script de shell tran.sh, preciso garantir antes de fazer um movimento do arquivo de entrada csv do diretório / exp / files, pois nenhum outro processo está gravando no arquivo. Como posso movê-lo?

    
por jia 11.07.2012 / 07:35

1 resposta

3

lsof pode ser o que você quer (afinal, é o comando para list open files ). Se seus arquivos tiverem uma convenção de nomenclatura conhecida, execute um lsof <filename> para verificar se realmente está sendo usado por um processo. Se não for, lsof retornará um código de retorno diferente de zero.

    
por 11.07.2012 / 07:55

Tags