Как я узнаю, где (из какого каталога) запускается процесс?

Я запускаю симуляцию, которая должна начинаться с некоторого каталога, но не помню, из какого каталога я командовал симуляцией. Я использую python для запуска симуляции, поэтому

ps aux | grep PID

показывает только то, где находится исполняемая программа. (/ USR / бен / питон). Тем не менее, я хочу знать, где работает команда с самого начала, где находится файл, который я запускаю.

Буду очень признателен за любые полезные комментарии!

Спасибо :))

1
задан 11 November 2013 в 20:57

3 ответа

Возможно, вы захотите использовать команду history, чтобы увидеть, какую команду вы действительно использовали?

0
ответ дан 11 November 2013 в 20:57

Чтобы увидеть путь скрипта Python, вы можете обычно видеть его с помощью ps (используя w, широкий, если необходимо):

~% 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

Например, процесс 2136 имеет вид сценарий /home/romano/software/wallpap/bg_slideshow.py. Если вы хотите узнать, какой рабочий каталог процесса, выполните

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

Процесс выполняется с /home/romano в качестве текущего каталога.

В файле /proc/2136/cmdline есть полная спецификация командной строки - то же, что вы видите в ps, с командами и аргументом, разделенными 0-значными байтами (для сохранения пробелов). Вы можете увидеть это на своем терминале с помощью

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

, где «tr» печатает пробел для каждого найденного символа «nul». (ложный% в конце связан с тем, что файл не заканчивается символом перевода строки).

Файловая система / proc является действительно полезным инструментом - полная документация немного «трудна», но часто бывает полезно иметь ссылку на нее: https://www.kernel.org /doc/Documentation/filesystems/proc.txt

0
ответ дан 11 November 2013 в 20:57

Используйте команду which. Например, which ifconfig выводит местоположение команды ifconfig.

0
ответ дан 11 November 2013 в 20:57

Другие вопросы по тегам:

Похожие вопросы: