Как найти путь к диску процесса
Если процесс запущен, как я могу найти его путь к диску, используя команду на терминале? В моем случае запущена синергия процесса, и я хочу найти ее на диске
ps -ef
показывает путь других процессов, но не этот.
2 ответа
Если вы знаете PID процесса, вы можете проверить содержимое его /proc
запись, в частности, exe
файл:
$ ls -l /proc/$$/exe
lrwxrwxrwx 1 muru muru 0 Apr 17 19:41 /proc/13339/exe -> /usr/bin/zsh
$ sudo ls -l /proc/1/exe
lrwxrwxrwx 1 root root 0 Apr 17 17:40 /proc/1/exe -> /usr/lib/systemd/systemd
IIRC что ps -ef
отчеты являются аргументами процесса (начиная с argv[0]
, которая является командой, вызываемой как есть), но процесс может переписать свои аргументы. следовательно ps -ef
может быть неточным.
Ты написал:
Если процесс запущен, как я могу найти его путь к диску, используя команду на терминале? В моем случае запущена синергия процесса, и я хочу найти ее на диске
Откройте терминал и выполните следующие команды, в зависимости от того, как вы хотите продолжить. Я использую синергию, потому что вы упомянули это:
Если вы действительно хотите использовать PS, то вы можете использовать эту команду.
ps -o command= -p "$(ps -C synergy -o pid=)" | xargs which
Если вы хотите знать, где находится исполняемый файл, используйте эту команду
which synergy