[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] liberar o prompt sem fechar o programa
From: |
Thiago Moretto |
Subject: |
Re: [shell-script] liberar o prompt sem fechar o programa |
Date: |
Tue, 20 Jun 2006 14:01:18 -0300 |
User-agent: |
Thunderbird 1.5.0.4 (X11/20060516) |
law escreveu:
pessoal..
fiz um script para parar, ligar e reiniciar um serviço... usei o
"case" com "ifs".. como manda o livro do mestre Julio..só que estou
com o seguinte problema..
Quando dou um start no programa, eu mando o log para um arquivo de
saida.log, e este arquivo sempre fica gerando os logs, até aí tudo
bem.... mas eu preciso do prompt do shell liberado para uso...se eu
der um CTRL+C ele para o serviço e libera o prompt... preciso que no
start ele apenas me retorne OK ou FAILED.. alguem tem alguma dica de
pesquisa?
Use nohup,. sempre quando quero executar um programa e libere o prompt
uso o nohup com &, pois assim o fork do programa não sera filho do
shell, coisa que acontece, sugiro que vc start o programa com $ nohup
./programa & , deve ter outras maneiras, quando vc coloca um script na
init.d formatado da forma correta o processo init já faz esse fork e
deixa sempre o shell liberado, afinal o pid pai do processo será o 1 (do
init).
Acho que eu não me enganei em nada, me corrigam se eu estiver incorreto.
mas qualquer coisa, use o man., $ man nohup .. mas não tem segredo
usá-lo não.
OBS: detalhe, o nohup joga toda saida (stdout e stderr) no arquivo
nohup.out, se vc nao quiser usar o nohup, brinque o &
DICA: se vc sem quere executar um programa e esquecer de colocar o &
para jogar em background, faça o seguinte:
1o. Pressione CTRL + Z (Para o processo SIGSTOP).
2o.
$ jobs
Irá aparecer os processos, e veja qual vc quer jogar em bg, alias todos
estarao em bg neste momento, porém um deles estará parado e eh esse que
vc quer jogar em background, então digite no shell.
$ bg %n ... onde n é o numero do processo que apareceu no jobs que vc
quer jogar em background e quer que continue a executar, assim o shell
ira enviar o SIGCONT e colocara o processo em background liberando o shell.
Qualquer duvida posta ai, escrevi meiio rapido .
T+ abraço,
Thiago Moretto
obrigado
lau_,_._,___