• Publicidad

Lanzar múltiples ventanas de terminal desde un script

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Lanzar múltiples ventanas de terminal desde un script

Notapor eolo_555 » 2017-02-03 14:57 @664

Hola, tengo el siguiente programa:

/******* comienzo pseudocódigo programa *******/

1) leer fichero con una línea por cada dirección IP

2) Lanzar una ventana independiente por cada dirección IP, incluyendo el comando siguiente
ssh usuario@direccion_IP

3) el programa sigue corriendo haciendo otras tareas.

/******* Fin pseudocódigo programa *********/


El problema consiste en que no resuelvo el paso 2. He probado con

system ("nohup gnome-terminal --title=$titulo --command \"ssh $usuario\@$Dir_IP 2>/dev/null \" ");

o también con

exec "gnome-terminal --command \"ssh --title=$titulo $usuario\@$Dir_IP & \" ";

Pero se me cierran las ventanas cuando tecleo en ellas.

La versión que puedo usar de Perl es la 5.08 sobre Solaris y no soy administrador, por lo que no puedo instalar ni actualizar el sistema.

¿Conocéis algún otro método para abrir varias consolas para que ejecuten un comando? En mi caso sería establecer un sesión remota con ssh.


Gracias y saludos.
Avatar de Usuario
eolo_555
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2017-02-03 14:27 @644

Publicidad

Re: Lanzar múltiples ventanas de terminal desde un script

Notapor explorer » 2017-02-03 16:50 @743

Bienvenido a los foros de Perl en Español, eolo_555.

Para lanzar todas las ventanas a la vez, eso quiere decir que queremos lanzar varios procesos, así que tenemos que usar algo como

system("comando &");

para que el comando quede en segundo plano y el programa Perl continúe.

Pero, quizás, lo interesante es saber qué quieres hacer con las conexiones SSH. ¿Ejecutar un comando en cada una de las máquinas? ¿Ejecutar el mismo comando en todas ellas?

Para cosas así ya existen herramientas muy buenas. Yo uso el PAC Manager, junto con las opciones de cluster, para enviar el mismo comando a muchas máquinas. Y no pasa nada que tengas una máquina con Solaris y un Perl de hace quince años. Si las conexiones son SSH, significa que las puedes hacer desde cualquier sitio (salvo que haya restricciones de acceso en la red local), así que puedes enchufar otra máquina y hacer pruebas con sistemas más modernos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Lanzar múltiples ventanas de terminal desde un script

Notapor eolo_555 » 2017-02-04 06:11 @299

Gracias.
He visto un error en mi mensaje anterior, realmente lo que ejecuto es :

system ("nohup gnome-terminal --title=$titulo --command \"ssh $usuario\@$Dir_IP 2>/dev/null \" & ");

Que si lo he entendido bien, es lo que recomiendas en tu respuesta.

Lo que realmente hace el programa es avisar que en un host ($DIR_IP) pasa algo, lo único que hay que hacer es conectarse y a partir de ahí en cada host meter comandos para ver su estado de salud, y actuar en consecuencia.

En resumen en cada ventana abierta se actuará de forma distinta.

Gracias por la respuesta, supongo que mi problema será que no he colocado correctamente las comillas en el comando system(...).

Seguiré probando.

Saludos.
Avatar de Usuario
eolo_555
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2017-02-03 14:27 @644


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 1 invitado

cron