프로세스가 실행중인 폴더를 찾는 방법은 무엇입니까? 수 있습니다 . 그러나

* nix에서는 ps어떤 프로세스가 실행 중인지 확인할 수 있습니다 . 그러나 실행 파일에 장치에 여러 개의 동종 파일이 있으면 호출 위치를 알 수 없습니다.

이것은이 주제에 대한 마지막 질문과 약간 다릅니다.
실행중인 프로세스의 절대 경로를 어떻게 알 수 있습니까?



답변

이 시도:

ls -l /proc/<PID>/cwd

답변

파생 된 ROM HUB의 답변 :

readlink /proc/<PID>/cwd

또는

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

답변

프로세스가 호출 된 위치를 알 수없는 에서 이 현재는 곳 입니다 . 상기 봐 cwd( “현재 작업 디렉토리”) 대신에 링크 exe.


답변

의 중복 /unix/94357/find-out-current-working-directory-of-a-running-process ?

내가 알고있는 3 가지 방법이 있습니다.

pwdx

$ pwdx PID

lsof

$ lsof -p PID | grep cwd

/ proc

$ readlink -e / proc / PID / cwd


답변

이 명령이 작동해야한다고 생각합니다. 약간의 해결 방법이지만 적어도 내 컴퓨터에서 작동합니다.

$ (ps e PID)의 strlist에 대해; if [$ {strlist : 0 : 4} = “PWD =”]; 그런 다음 $ {strlist : 4}; fi; d를 반향하십시오.


답변

내가 달렸을 때

ps auxwwwe | grep executableName > dump
vim dump

내가 알고있는 경로의 일부를 찾은 다음 명령이 호출 된 서브 디렉토리에서