[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Como saber se meu shell já está executando?
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: [shell-script] Como saber se meu shell já está executando? |
Date: |
Wed, 16 Mar 2005 17:24:36 -0300 |
Grande Eliphas,
se usar descritores de arquivo (os famosos FD - de File Descriptors), vc
pode simular um open semelhante ao do C (python infelizmente conheço muito
pouco, mas é por falta de tempo).
Veja este exemplo, com um fragmento de script escancaradamente copiado do
site do nosso amigo Thobias Trevisan em
http://www.thobias.org/bin/visitas.txt. :-)
# link de fd 6 com a stdout e redireciona a stdout para um arquivo.
# a partir daqui toda a stdout vai para $temp_html
exec 6>&1; exec > $temp_html
Ou seja vc está abrindo um arquivo de saída com fd 6 (o mesmo conceito do
número que vc ganha qdo faz um fopen em C). Será esse o caminho que vc quer
seguir? Se for me avise em pvt que te mando um material que estou escrevendo
sobre o assunto.
[ ]s,
Julio
:wq
| -----Mensagem original-----
| De: Eliphas Levy Theodoro [mailto:address@hidden]
| Enviada em: quarta-feira, 16 de março de 2005 15:51
| Para: address@hidden
| Assunto: Re: [shell-script] Como saber se meu shell já está
| executando?
|
|
|
| Julio Cezar Neves - DATAPREVRJ, @ 11:21:
|
| > Eu nunca tive problemas com uso de named pipes para simular
| lock. O que faço
| > é um daemon que fica em um loop perpétuo e a 1a. isntuçaõ
| do loop é um cat
| > /named/pipe e deste modo recebe o registro para trabalhar.
| Outra pessoa que
| > necessite trabalhar com o arquivo que está sendo alterado
| pelo daemon, só o
| > conseguirá qdo o loop voltar ao cat inicial e isso só se
| dará após o término
| > da atualização.
|
| 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?
|
| 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
|
| Pensei em fazer com que o arquivo seja um fifo, mas não funciona:
| mkfifo fifo
| cat fifo &
| fuser fifo
| (não acha nada...)
|
| --
| Eliphas
|
| [As partes desta mensagem que não continham texto foram removidas]
|
|
|
| ---------------------------------------------------------------------
| Esta lista não admite a abordagem de outras liguagens de
| programação, como perl, C etc. Quem insistir em não seguir
| esta regra será moderado sem prévio aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos