[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] liberar o prompt sem fechar o programa
From: |
leobash10 |
Subject: |
Re: [shell-script] liberar o prompt sem fechar o programa |
Date: |
Tue, 20 Jun 2006 16:03:29 -0300 |
Thiago,
valeu a ajuda, com o nohup funcionou sim.. vou testar colocando no init.d para
ver se ele resolve tb.
se alguem comentar com outras soluções seria legal..
tks
law
----- Original Message -----
From: Thiago Moretto
To: address@hidden
Sent: Tuesday, June 20, 2006 2:01 PM
Subject: Re: [shell-script] liberar o prompt sem fechar o programa
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_,_._,___
[As partes desta mensagem que não continham texto foram removidas]