¿Cómo se ve la salida del terminal (tty) externamente? (No es una nueva sesión de ssh, pero lo que está sucediendo actualmente)

1

Básicamente, he configurado algunos Raspberry Pis que ejecutan diferentes programas, y me gustaría ver qué se genera en ellos. Obviamente puedo conectarme a través de SSH, pero esa es una nueva sesión de tty. Intenté buscarlo en Google, ¡pero creo que mi terminología es un poco extraña!

Elliot Reed
fuente
Tu terminología es un poco extraña sí :). ¿Podría dar un ejemplo para que podamos entender lo que quiere decir?
terdon
Así que tengo un script Bash ejecutándose en la Raspberry Pi, y quiero iniciar sesión remotamente y ver la salida de ese script Bash de forma remota. La secuencia de comandos Bash requiere la entrada del usuario en la Raspberry Pi. Como cuando accedo a través de SSH, es una sesión nueva, en lugar de monitorear lo que sucede en el dispositivo físico ...
Elliot Reed
Busque "salida estándar de proceso" o "proc linux stdout" (por ejemplo, consulte aquí ). Esto también es relevante (monitorizar un terminal).
Ярослав Рахматуллин
Si está ejecutando algo interactivo, es posible que desee iniciarlo en una sesión de pantalla : superuser.com/a/454914/223699 . Luego puede adjuntarlo a la pantalla para ver qué está sucediendo.
SlightlyCuban

Respuestas:

3

prueba screen:

Inicie sesión en un terminal y escriba apt-get install screenpara instalarlo.
Pantalla de inicio escribiendo screen.
Toque Entrar para pasar la pantalla de bienvenida.
iniciar un proceso, por ejemplo, una descarga lenta:

curl --limit-rate 5K \
http://archive.raspbian.org/raspbian/dists/wheezy/main/binary-armhf/Packages

Presione ^ad- Ctrl + a (Botones de liberación) d - para separar.
Cierra la terminal.
Inicie sesión como el mismo usuario (a través de SSH si lo desea) y escriba screen -rpara reanudar.

La pantalla puede hacer mucho más, echa un vistazo man screen.

Como nota al margen, si desea que su proceso comience en el arranque, debería considerar usar un script de inicio y hacer que su proceso escriba archivos de registro.

Florian Fida
fuente
Cuatro años después y he aceptado esto (¡disculpas por llegar un poco tarde!). Gracias a ti, sin embargo, ahora uso la pantalla todo el tiempo :)
Elliot Reed
0

Hasta donde sé, no hay forma de observar la salida de un comando ejecutado en un shell separado. Cada instancia de shell (bash, por ejemplo) es una entidad separada y no puede comunicarse con ella desde un shell diferente.

La única forma de monitorear la salida sería hacer que su comando guarde su progreso en un archivo y luego monitorear ese archivo. Por ejemplo, en el Pi:

some_command > some_file

o, para controlar el error estándar en lugar de la salida estándar:

some_command 2> some_file

Luego puede ver el progreso desde otra computadora ejecutando

ssh user@pi tail -f /path/to/some_file
terdon
fuente