Як дізнатися, з якої папки працює процес?


15

У * nix ви можете використовувати, psщоб побачити, який процес запущений. Але якщо у виконавчому пристрої є декілька одномовних файлів у пристрої, ми не можемо зрозуміти, звідки він викликався.

Це трохи відрізняється від мого останнього запитання з цього приводу. Як я можу знати абсолютний шлях запущеного процесу?

Відповіді:



7

Отримана відповідь рома HUB:

readlink /proc/<PID>/cwd

або навіть

readlink /proc/$(pgrep <program_name>)/cwd

+1 Вихід значення readlinkможна краще проаналізувати у сценарії.
Марко Леогранде

2

Ви не можете сказати , де процес був викликаний з , тільки там , де він в даний час знаходиться . Перегляньте посилання cwd("поточний робочий каталог") замість exe.



1

Я думаю, ця команда повинна спрацювати. Це трохи вирішення, але це працює принаймні на моїй машині.

для strlist в $ (ps e PID); зробіть, якщо [$ {strlist: 0: 4} = "PWD ="]; то відлуння $ {strlist: 4}; fi; зроблено


0

Коли я бігав

ps auxwwwe | grep executableName > dump
vim dump

Я зміг шукати частину шляху, який я знав, і тоді я дізнався, з якого підкаталогу викликається команда

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.