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

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

RES: [shell-script] PID no shell script


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] PID no shell script
Date: Mon, 30 Jan 2006 17:20:51 -0200

Olá pessoal,
há dias eu estou vendo esta discussão sobre daemon e estou sem tempo para
dar um pitaco. Agora deu uma folga, então lá vou eu... :)

Em alguns Unixes, não basta colocar um loop perpétuo em background para que
possamos chamá-lo de daemon, pq desta forma, ele terá como sdtout o terminal
do qual ele foi disparado e com o fim desta sessão o terminal estará perdido
e o programa abortará.

E como superar isso? É para isso que existe o cmd nohup. Qdo vc faz:

Prompt> nohup script.sh &

ele tentará criar no diretório corrente um arquivo chamado nohup.out que
será associado ao stdout do proceso. Caso não tenha direito de gravação
neste diretório, o arquivo será criado no home.

Desta forma, quando vc termina uma sessão e desliga o terminal, o processo
será herdado pelo init e, aí sim, será um autêntico daemon. Se após isso
fizer um ps aux verá que o seu PPID (Parent PID ou processo pai) é o init
(PID=1).

[ ]s,
Julio
==================================
ENSOL: dias 12, 13 e 14 de maio
na Universidade Federal da Paraíba.
Veja detalhes em http://www.ensol.org.br
http://www.julioneves.com


| -----Mensagem original-----
| De: MrBiTs [mailto:address@hidden]
| Enviada em: segunda-feira, 30 de janeiro de 2006 16:33
| Para: address@hidden
| Assunto: RE: [shell-script] PID no shell script
| 
| 
| /*
| Estou escrevendo um script para a inicialização de alguns 
| daemons, e nisso
| eu gostaria de guardar em algum arquivo o PID desses daemons quando eu
| subisse um deles.
| Por exemplo, eu tenho uma funcao start() que sobe os dois 
| daemons, essa
| função, além de subir os daemons, geraria o arquivo 
| /tmp/$nomed.$PID ou
| /tmp/$nomed e nesse arquivo teriamos apenas o $PID do script.
| Tem algum jeito de eu armazenar o PID do daemon quando eu 
| executar ele? Ou
| eu teria que fazer isso com o ps + grep + awk ?
| */
| 
| Todo e qualquer comando executado retorna o seu PID em uma 
| variável $! (
| cifrão exclamação )
| 
| Faça algo como 
| 
| PIDFILE=/tmp/$nomed.$!
| 
| Imediatamente depois de executá-lo em bg
| 
| ------
| GPG Public Key
| http://keyserver.veridis.com:11371/export?id=-6037232142263389818
|          \\|||//
|          (.) (.)
| ----ooOO--( )--OOoo-----
|       MrBiTs
| http://www.mrbits.com.br
|   address@hidden
| ------------------------
| 
| 
| 
| ---------------------------------------------------------------------
| 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
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos




 



reply via email to

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