Página 1 de 1

Enviar Ctrl+C desde script

NotaPublicado: 2015-05-25 12:51 @577
por carlitos2308
Buenos días.

Estimados, de nuevo molestando. Tengo un script que me hace varias revisiones en una máquina Linux, pero hay un comando en especial que al enviarlo se queda colgado y para salir de ese comando hay que hacer Ctrl+C desde el teclado.

El tema es que necesito enviar este Ctrl+C de una vez desde el script Perl para evitar que tenga que ser el usuario que lo haga sino más bien lo haga el script.

Si sirve de algo, el comando que envío es hastatus y el resultado es el siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
maquina1:/home/xxx/scripts # hastatus
attempting to connect....
attempting to connect....connected


group           resource             system               message            
--------------- -------------------- -------------------- --------------------
                                     system1              RUNNING            
                                     system2              RUNNING            
group1                               system1              OFFLINE            
group1                               system2              ONLINE      
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Luego de mostrar esto, para volver al prompt "maquina1:/home/xxx/scripts #" es necesario hacer un Ctrl+C.

Como dato adicional, queda como corriendo como un proceso:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
ps -fea | grep hastatus
root     10904  1934  0 11:42 pts/0    00:00:00 hastatus
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


De antemano agradezco su ayuda.

Re: Enviar Ctrl+C desde script

NotaPublicado: 2015-05-25 13:29 @604
por explorer
¿Has probado a ejecutar el comando hastatus con la opción -summary?

hastatus -summary

A lo mejor así sale inmediatamente.

Re: Enviar Ctrl+C desde script

NotaPublicado: 2015-05-25 13:38 @610
por carlitos2308
Hola, explorer, gracias por tu pronta respuesta. Te comento que ese comando también me sirve. Sin embargo el comando hastatus trae mucha más información que al enviarle -summary, es por esa razón que necesito enviarlo solo como hastatus.

Quedo a la espera de tus valiosos comentarios.

Re: Enviar Ctrl+C desde script

NotaPublicado: 2015-05-25 13:54 @621
por explorer
Bueno, para enviarle un Ctrl+C, en realidad lo que queremos hacer es enviarle la señal INT (interruption) al proceso hastatus.

Entonces, hay que averiguar el pid de ese proceso, y luego, desde nuestro programa, hacer un

kill INT, $pid;

Re: Enviar Ctrl+C desde script

NotaPublicado: 2015-05-25 14:08 @630
por carlitos2308
Gracias, explorer, veré si enviando la señal INT me funciona.