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

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

Re: [shell-script] Re: Como enviar CRTL+C a um programa que esta rodando


From: Julio C. Neves
Subject: Re: [shell-script] Re: Como enviar CRTL+C a um programa que esta rodando em segundo plano?
Date: Sun, 18 Mar 2007 16:15:22 -0300

Cara, vc tem de matar o shell no qual o processo está rodando. A variável $!
te devolve o PID do último processo colocado em background. Então se o rec
foi o último que vc mandou para bg, basta vc fazer:

kill -2 $!

Veja esta seqüência de cmds no prompt:

$ trap 'echo morreu o $!' 17 # esta trap me avisa qdo termina um processo
filho
$ sleep 100 &
[1] 9218
$ ps
  PID TTY          TIME CMD
 9130 pts/3    00:00:00 bash
 9218 pts/3    00:00:00 sleep
 9219 pts/3    00:00:00 ps
$ kill -2 $!
morreu o 9218

Isso com certeza resolverá este seu problema.

Abração,
Julio



Em 17/03/07, bossonaroesao06 <address@hidden> escreveu:
>
>   Pessoal....
> Ainda nao consegui finalizar o processo "rec".
> Mesmo quando eu inicio o "rec" em segundo plano ele prende o script
> com essa mensagem:
>
> # rec -t wav /root/teste.wav &
> # Send break (control-c) to end recording
>
> Eu tentei abrir outro terminal e matar o processo mas ele não
> finaliza não.
> Tentei isso e não funcionou:
> # killall -2 rec
>
> Tentei tambem fazer um scritp adicional para matar o rec e nadaaa:
> #!/bin/bash
> pid=$(ps ax | grep "rec -t wav" | awk '{print $1}')
> /bin/kill -2 $pid
>
> A unica forma de matar o rec é ir la no shell e dar o CRTL+C que ele
> pede.
>
> Alguem poderia me ajudar?
> Obrigado pela atenção e desculpe a insistência
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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