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

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

Re: [shell-script] Shell em Background !!!


From: Julio C. Neves
Subject: Re: [shell-script] Shell em Background !!!
Date: Wed, 28 Oct 2015 10:44:49 -0200

Fala Tiago,
muito bem lembrado. O sinal zero vc consegue em qq fim normal de programa. Faça um teste:
Abra um terminal novo;
nele digite: trap "clear; echo tchau coisa feia; sleep 10" 0
Agora digite "exit" para simular um fim normaa sua seção.
Viu!?
Então o kill -0 não encerra o prg, simplesmente manda um sinal netro para ele, e por isso a saída de erro do kill deve ser movida para /dev/null, senão dará erro qdo o prg encerrar.

Sem desviar stderr:
$ sleep 30 &
[1] 21080
$ kill -0 $! && echo vivo || echo morto
vivo
$ kill -0 $! && echo vivo || echo morto
bash: kill: (21080) - Processo inexistente
morto

Desviando stderr:
$ sleep 30 &
[1] 21087
$ kill -0 $! 2> /dev/null && echo vivo || echo morto 
vivo
$ kill -0 $! 2> /dev/null && echo vivo || echo morto 
morto
[1]+  Concluído              sleep 30


Abcs,
Julio
@juliobash

P
róximos cursos de Shell
Cidade         Local Período
São Paulo 4Linux 07/12 a 11/12
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 28 de outubro de 2015 07:27, Tiago Peczenyj address@hidden [shell-script] <address@hidden> escreveu:
 

Existe uma tecnica e talvez o Julio pode elucidar o quão portavel ela é.

Se vc mandar um sinal 0 via kill para o process id ele vai responder com algo tipo "estou vivo"

por exemplo

bash$ command &
bash$ echo $!
1630
bash$ kill -0 1630 && echo 'ok' || echo 'nok'
ok 

agora o seu shell pode ter um kill built in and talvez se o processo nao existir ele pode dar um erro se o processo nao existir mais, tente chamar o executavel kill atraves do caminho completo.

bash$ /bin/kill -0 1630 && echo 'ok' || echo 'nok'
nok 

abraços

2015-10-20 20:13 GMT+02:00 'Julio C. Neves' address@hidden [shell-script] <address@hidden>:
 

Seria algo assim?

$ sleep 30 &
[1] 26384
$ echo $!
26384
$ ps aux | grep $! | grep -v grep
julio    26384  0.0  0.0   7196   616 pts/0    S    16:11   0:00 sleep 30

Abcs,
Julio
@juliobash

P
róximos cursos de Shell
Cidade         Local Período
Curitiba SoftSell 19/10 a 23/10
São Paulo 4Linux 07/12 a 11/12
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 20 de outubro de 2015 15:26, address@hidden [shell-script] <address@hidden> escreveu:
 

Boa tarde Pessoal, tudo bom?

Seguinte, preciso da ajuda de vocês!!!


Existe alguma forma de executar um shell script em background com informação de que está sendo executado?


tipo


/usr/local/bin/programa.sh & -> Programa em execucao


Desde já agradeço a ajuda.


Giuliano





--
Tiago B. Peczenyj

http://about.me/peczenyj



reply via email to

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