Respuestas:
Puede obtener los descriptores de archivo estándar de ese proceso, por ejemplo stdout
:
tail -f /proc/<pid>/fd/1
# ls -la /proc/24510/fd/1 lrwx------ 1 root root 64 Oct 31 08:34 /proc/24510/fd/1 -> socket:[444026]
Hay algunas opciones aquí. Una es redirigir la salida del comando a un archivo, y luego usarla tail
para ver nuevas líneas que se agregan a ese archivo en tiempo real.
Otra opción es iniciar su programa dentro de screen
, que es una especie de aplicación de terminal basada en texto. Las sesiones de pantalla se pueden adjuntar y desconectar, pero están destinadas nominalmente a ser utilizadas únicamente por el mismo usuario, por lo tanto, si desea compartirlas entre usuarios.
De lo contrario, si lo desea, puede rastrear el proceso y ver qué está haciendo con strace
:
strace -e trace=open -p 22254 -s 80 -o output.txt
-p PID
: Adjunte al proceso con el ID de proceso PID y comience el rastreo.-s SIZE
: Especifique el tamaño máximo de cadena para imprimir (el valor predeterminado es 32).-o filename
: Escriba la salida de rastreo en el nombre del archivo en lugar de en la pantalla (stderr)sudo
Debe usar strace para adjuntar a un proceso, y usar -o ~/output.txt
para que el archivo quede en su carpeta de inicio.
Puede usar los siguientes comandos para adjuntar un proceso en ejecución en otro terminal:
Ejemplo:
screen -S PID
retty $(pgrep PID)
reptyr PID
sudo apt-get install retty
pero existen pocas limitaciones con retty. Consulte la página de manual mencionada en la respuesta.