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.shdesde una ventana de terminal local, sin redirección, sin uso de screenetc.).
¿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 18386pero recibo hordas de texto volando por la pantalla, es demasiado detallado. Puedo detenerme stracey 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 screensesió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
