martes, 7 de octubre de 2025

Cómo localizar y obtener el directorio de trabajo de procesos 'nohup' (en background).

El comando nohup programa & hace que el programa continúe ejecutándose independientemente de la terminal (por eso sigue funcionando), pero ya no está asociado a la tabla de trabajos de la nueva sesión.

Para ver todos los procesos en ejecución (incluyendo los de nohup) y obtener su directorio de trabajo, debes usar herramientas del sistema operativo, no el jobs de la shell.


1. Encontrar el Proceso (ps y grep)

El comando universal para ver los procesos en ejecución en Linux es ps (process status). Debes usarlo junto con grep para filtrar tu programa:

 ps aux | grep [nombre_de_tu_programa]

Ejemplo: Si tu programa es mi_simulacion:

 ps aux | grep mi_simulacion

Salida clave: Esta te dará información vital, incluyendo el PID (ID del Proceso).

ColumnaSignificado
USEREl usuario que lo ejecuta.
PIDID del Proceso (Necesario para el siguiente paso).
%CPUPorcentaje de CPU usado.
COMMANDLa línea de comando completa.

2. Obtener el Directorio de Trabajo (pwdx)

Una vez que tienes el PID del proceso, puedes usar el comando pwdx para que te muestre el directorio de trabajo (Current Working Directory - CWD) desde donde se lanzó el proceso, incluso si la terminal original ya cerró.

 pwdx [PID_del_programa]

 Ejemplo: Si el PID de mi_simulacion es 12345:

 pwdx 12345

 

Salida:

 12345: /home/usuario/proyectos/mi_simulacion_lanzada_aqui

 

Este es el método más directo y fiable para encontrar la ubicación de ejecución de cualquier proceso que esté corriendo en el sistema, sin importar si fue lanzado con nohup o en qué terminal.

Resumen del Flujo de Trabajo

  1. Busca el PID: ps aux | grep [nombre_del_programa]

  2. Busca el Directorio: pwdx [PID]

No hay comentarios:

Publicar un comentario