¿Cómo sé dónde (desde qué directorio) se ordena el proceso?

¿Cómo sé dónde (desde qué directorio) se ordena el proceso?

Estoy ejecutando una simulación a la que se le ordena comenzar en algún directorio, pero no recuerdo desde qué directorio ordené la simulación. Estoy usando Python para ejecutar la simulación, así que

ps aux | grep PID

sólo muestra dónde se encuentra el programa en ejecución. (/usr/bin/python). Sin embargo, quiero saber dónde se opera el comando desde el punto inicial, dónde se encuentra el archivo que estoy ejecutando.

¡Agradecería mucho cualquier comentario útil!

Gracias :)

Respuesta1

¿Quizás quieras usar el historycomando para ver qué comando usaste realmente?

Respuesta2

Para ver la ruta del script de Python, normalmente puede verla con ps(usando la wopción amplia si es necesario):

~% ps ugxw | grep python
romano    2136  0.0  0.2  10524  4132 ?        S    09:13   0:00 python /home/romano/software/wallpap/bg_slideshow.py
romano    5839  0.0  0.0   4440   832 pts/1    S+   10:00   0:00 grep python

Por ejemplo, el proceso 2136 es el script /home/romano/software/wallpap/bg_slideshow.py. Si desea saber cuál es el directorio de trabajo del proceso, haga

~% ls -l /proc/2136/cwd
lrwxrwxrwx 1 romano romano 0 Nov 11 10:04 /proc/2136/cwd -> /home/romano

El proceso se está ejecutando con /home/romanosu directorio actual.

En el archivo /proc/2136/cmdlineestá la especificación completa de la línea de comando, la misma que ve en ps, con los comandos y el argumento separados por bytes con valor 0 (para preservar los espacios). Puedes verlo en tu terminal con

% cat /proc/2136/cmdline | tr "\0" " "
python /home/romano/software/wallpap/bg_slideshow.py % 

donde "tr" imprime un espacio por cada carácter "nul" encontrado. (El % falso al final se debe a que el archivo no termina con un carácter de nueva línea).

El sistema de archivos /proc es una herramienta realmente útil. La documentación completa es un poco "difícil", pero suele ser útil tener un enlace a ella:https://www.kernel.org/doc/Documentation/filesystems/proc.txt

Respuesta3

Utilice el whichcomando. Por ejemplo, which ifconfiggenera la ubicación del comando ifconfig.

información relacionada