Seminario de Instrumentación
Ejecución de procesos en forma remota
Adolfo Castro – Marzo 2006
G.H.S.
Seminario de InstrumentaciónEjecución remota de procesos
Índice● Los PCs para cálculo. El SO y cuentas de usuario. ● Acceso remoto: Secure Shell. Instalación y configuración. ● Transferencia de archivos y línea de comandos.● Ejecución interactiva. Ejecución diferida. ● Archivos de comandos. El comando at● Seguimiento del proceso: top.● Visualización de archivos: cat y less● Edición con joe.
G.H.S.
PCs para ejecución remota de programas
● Paranoide (paranoide.upc.es)● Tranquility (147.83.51.245)
– SO: GNU/Linux– Pueden ejecutar programas de Windows en línea
de comandos (no gráfico) mediante el emulador WINE
– Es necesario tener una cuenta de usuario para acceder.
G.H.S.
Seminario de InstrumentaciónEjecución remota de procesos
Secure Shell
Permite abrir una sesión en la máquina remota, ejecutar comandos y transferir archivos.
● Se encuentra en Soft\Red\Secure Shell\SSHSecureShellClient-3.2.9.exe
● Instalación con asistente (Next-Next-Next-Finish)
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Secure Shell: Configuración ● Añadir un nuevo Profile
● Proporcionar la dirección de la máquina, el nombre de usuario y el método de autenticación.
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Secure Shell: Configuración (II)
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Secure Shell: Configuración (III) – Edit Profile
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Secure Shell: Configuración (IV)
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Secure Shell: Configuración (V) - Authentication
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Secure Shell por primera vez
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Secure Shell: Conexión
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Secure Shell: Conexión (II)
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Secure Shell: Línea de comandos (cd y ls)
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Secure Shell: Transferencia de archivos
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Secure Shell: Modo interactivo
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
La línea de comandos
prompt$ comando (-opciones) archivo(s) [INTRO]
Ejemplos
prompt$ wine T4.exe [INTRO] (ejecuta Transin4 usando el emulador)
prompt$ ls -l CAB0* [INTRO] (lista detallada de todos los archivos cuyo nombre empiece con CAB0)
prompt$ mkdir micarpeta [INTRO] (crea un directorio llamado micarpeta)
prompt$ cd micarpeta [INTRO] (cambia el directorio actual a micarpeta)
Los comandos devuelven el control cuando han terminado de ejecutarse. Pueden finalizarse a la fuerza con CTRL+C. Si son interactivos generalmente se terminan con “q” (caso de less y top). Linux, como todos los UNIXs, es case sensitive.
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Ejecución diferida: el comando at
Ejecuta los comandos que lo siguen en determinado momento
Sintaxis
prompt$ at (cuando) comando_a_ejecutar
Ejemplos
prompt$ at 3pm + 2 days ls
prompt$ at 1am tomorrow cat salida.txt
prompt$ at 10pm 25 May rm /home/acastro/tmp/*.tpm
Lo mejor es reemplazar comando_a_ejecutar por un archivo de comandos, especialmente si la orden es compleja.
prompt$ at now -f archivo_de_comandos
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Redireccionamiento
prompt$ wine TRANSIN4.EXE [INTRO]
NAME OF THE DIMENSIONS INPUT FILE:..... RAIZ
.................................
SALIDA POR PANTALLA
Inconvenientes:
– Hay que teclear la entrada
– Hay que mantener abierta la sesión para permitir la salida.
Solución: Operadores de redireccionamiento
< redirige la entrada
> redirige la salida
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Redireccionamiento
prompt$ wine TRANSIN4.EXE < entrada.txt > salida.txt [INTRO]
entrada.txt es un archivo de texto simple que contiene la entrada que teclearíamos normalmente (en este caso, la raíz del nombre de los archivos .DAT de TRANSIN)
salida.txt es un archivo de texto simple que va a crear el sistema y que contendrá lo que normalmente se mostraría por pantalla
La ventaja es que, si el sistema nos devolviera el control, podríamos desconectarnos sabiendo que la ejecución continúa en la máquina remota.
Para que eso ocurra usamos at
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
at con archivos de comandos● Creamos un archivo de texto simple (por ejemplo
ordenes.dat) con la orden a ejecutar
wine TRANSIN4.EXE < entrada.txt > salida.txt
● Nos aseguramos de que en el directorio (carpeta) actual estén todos los archivos necesarios para la ejecución del programa. Esto incluye a entrada.txt
● Ejecutamos
prompt$ at now -f ordenes.dat
prompt$
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Procesos en background
Un proceso puede ejecutarse en background sin usar at mediante la sintaxis
prompt$ ./ordenes.dat&
prompt$
./ se refiere al directorio actual y & envía el proceso a background, devolviendo el control al usuario (podemos cerrar la sesión)
El archivo de comandos en este caso debe tener permiso de ejecución
prompt$ chmod 766 ordenes.dat
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Procesos concatenados
prompt$ comando1 && comando2 && comando3 ....
&& hace que un proceso se ejecute a continuación del otro sólo si la finalización del previo ha sido normal
Prioridad (nice)
prompt$ nice -n NI comando
En donde es -20 < NI < 19, siendo -20 la prioridad más alta. Sólo el administrador puede establecer prioridades negativas
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Control de la ejecución● top da una tabla de los procesos que se están ejecutando.
Permite saber el número de proceso (útil si queremos matarlo). Se sale con “q”
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Control de la ejecución (II)
kill es un comando que sirve para enviar una señal a un proceso
La señal para terminarlo es 9
Para matar un proceso identificamos su PID (en este caso PID= 8125)
y ejecutamos
prompt$ kill -9 8125 [INTRO]
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Control de la ejecución (III)● cat imprime por pantalla el contenido de un archivo.
prompt$ cat salida.txt [INTRO]
Vuelca por pantalla el contenido del archivo de salida.
● tail imprime por pantalla las últimas cinco líneas de un archivo.
prompt$ tail salida.txt [INTRO]
● less imprime por pantalla el contenido de un archivo, pero permite hacer scrolling con las flechas. Sirve para recorrer archivos largos y permite hacer búsquedas (/ hacia adelante y ? hacia atrás)
prompt$ less salida.txt [INTRO]
Se sale con “q”
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Editor joe (también existe vi)
prompt$ joe CAB06-RES.OUT [INTRO]
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Editor joe: ^significa CTRL
Seminario de InstrumentaciónEjecución remota de procesos
G.H.S.
Top Related