shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Como saber se meu shell já está executando?


From: Felipe Kellermann
Subject: Re: [shell-script] Como saber se meu shell já está executando?
Date: Wed, 16 Mar 2005 16:13:04 -0300 (BRT)

On Wed, 16 Mar 2005 3:50pm  -0300, Eliphas Levy Theodoro wrote:

> Hmm estava eu com meus botões pensando: Tem jeito de, em shell,
> "abrir" um arquivo e não fazer nada, como um open() em C/python?

Sim.
$ exec 3<>arquivo

Abre o descritor 3 com leitura e escrita para arquivo.
Mas infelizmente nós não podemos abrir de forma exclusiva.


> Com isso daria pra fazer algo como:
>
> if ! fuser arquivo_lock; then
>     funcao_massa_que_abre_o_arquivo_lock &
>     faz algo
>     fuser -k arquivo_lock
> fi

Perfeitamente. Também se usa. Naturalmente, locks funcionam assim.
Adicionalmente há alguns truques que podem ser feitos com permissões.

Só há um detalhe: 'fuser' e tudo o que ele faz é "não padrão". Se fosse 
para usar ele, eu ainda recomendaria o uso do lockfile. Ele vai acabar 
fazendo justamente isso, mas um pouco melhor.

Mas a tua sugestão certamente seria a mais bonita, simples e prática se 
tivéssemos algumas coisa como, digamos:

$ exec 3e<arquivo

Que abriria o arquivo 'arquivo', descritor 3, só leitura, exclusivo.
Juntamente com algumas permissões, ficaria um lock perfeito para fazer 
essa verificação de 'um shell ainda está executando'.

Não tenho conhecimento de qualquer implementação que tenha feito esse tipo 
de adição, infelizmente. Seria uma ótima *adição*, é uma ótima sugestão.

-- 
Felipe Kellermann

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]