He dejado una secuencia de comandos ejecutándose en una máquina remota desde que estaba trabajando localmente en ella. Puedo conectarme a través de SSH a la máquina como el mismo usuario y ver el script ejecutándose ps
.
$ ps aux | grep ipcheck
myuser 18386 0.0 0.0 18460 3476 pts/0 S+ Dec14 1:11 /bin/bash ./ipchecker.sh
Simplemente está enviando a stdout en una sesión local (ejecuté ./ipchecker.sh
desde una ventana de terminal local, sin redirección, sin uso de screen
etc.).
¿Hay alguna forma de que desde una sesión SSH pueda ver el resultado de este comando en ejecución (sin detenerlo)?
Hasta ahora, lo mejor que he encontrado es usar, strace -p 18386
pero recibo hordas de texto volando por la pantalla, es demasiado detallado. Puedo detenerme strace
y luego examinar la salida y encontrar el texto impreso en stdout, pero es muy largo y confuso, y obviamente mientras está detenido podría perder algo. Me gustaría encontrar una manera de ver la salida del script en vivo como si estuviera trabajando localmente.
¿Alguien puede mejorar en esto? La respuesta obvia es reiniciar el script con redireccionamiento o en una screen
sesión, etc., este no es un script de misión crítica, por lo que podría hacer eso. Sin embargo, veo esto como un ejercicio de aprendizaje divertido.
strace -p 4232 -e write