Fala Leonardo, vc poderia fazer isso com o lsof, mas a grande verdade é que, assim como no ps aux, vc teria de ficar testando se o arquivo já foi fechado.
Para mim a melhor saída é usar named pipes e vc encontra seu uso muito bem detalhado em português e cheio de exemplos na minha página<http://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo011#Sincroniza_o_de_processos> . -- Abração, Julio *Cursos de Shell e Zenity nos finais de semana: - Em SP ligue (11) 2125-4747; - Em DF ligue (61) 3223-3000; - No RJ brevemente; - Turmas fechadas em outras cidades ligue (21) 8112-9988* 2009/3/30 Leonardo Bites <[email protected]> > Estou fazendo um script que transforma arquivos txt em arquivos > compactados, > mas estou tendo um problema de o script rodar sendo que a copia do arquivo > txt ainda não acabou, Queria saber se existe uma forma de checar se o > arquivo está em uso seu usar o ps aux? > > segue o script > > #!/bin/bash > # Autor: Leonardo Bites > # Script de compactação dos arquivos de sonda WideView > # Data: 04/03/2009 > # > #Modificacoes > # > # Mover arquivos do diretorio /opt/wideview/sonda para novo diretorio > > DIR_ORIGEM="/opt/wideview/sonda" > DIR_DESTINO="/sonda" > > if [ -d "${DIR_ORIGEM}" ];then > > ls ${DIR_ORIGEM}/*.txt &>/dev/null > > if [ $? = 0 ]; then > mv ${DIR_ORIGEM}/*.txt ${DIR_DESTINO}/ > fi > fi > > #Compactar arquivos > > cd ${DIR_DESTINO} > ARQ=$(ls ${DIR_DESTINO}/*.txt) > > if [ ! -z "${ARQ}" ]; then > > echo ${ARQ//sonda} |tr -d "/" |tr " " "\n" >arquivos > > cat ${DIR_DESTINO}/arquivos|while read d; do tar -cvzf > ${DIR_DESTINO}/${d%.txt}.tar.gz $d; done > > if [ $? = 0 ]; then > rm -rf ${DIR_DESTINO}/*.txt > rm -rf ${DIR_DESTINO}/arquivos > fi > fi > > sleep 10 > > /usr/bin/CompactaSonda.sh& > > -- > -- > Leonardo Bites > > Linux Registered user #449087 > ___________________________ > > "Open Source for Open Minds" > > "Pensamentos tornam-se ações, > > ações tornam-se hábitos, > > hábitos tornam-se caráter, > > e nosso caráter torna-se nosso destino". > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]
