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 history
comando para ver qué comando usaste realmente?
Respuesta2
Para ver la ruta del script de Python, normalmente puede verla con ps
(usando la w
opció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/romano
su directorio actual.
En el archivo /proc/2136/cmdline
está 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 which
comando. Por ejemplo, which ifconfig
genera la ubicación del comando ifconfig.