어떤 디렉터리에서 시작하라는 명령을 받은 시뮬레이션을 실행하고 있는데 어느 디렉터리에서 시뮬레이션을 명령했는지 기억나지 않습니다. 시뮬레이션을 실행하기 위해 Python을 사용하고 있으므로
ps aux | grep PID
실행 중인 프로그램이 있는 위치만 표시됩니다. (/usr/bin/python). 하지만 맨 처음부터 명령이 실행되는 위치, 내가 실행 중인 파일이 어디에 있는지 알고 싶습니다.
도움이 되는 의견을 주시면 정말 감사하겠습니다!
감사해요 :)
답변1
history
실제로 어떤 명령을 사용했는지 확인하기 위해 해당 명령을 사용하고 싶습니까 ?
답변2
Python 스크립트의 경로를 보려면 일반적으로 다음을 사용하여 볼 수 있습니다 ps
( w
필요한 경우 , wide, 옵션 사용).
~% 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
답변3
명령 을 사용하십시오 which
. 예를 들어, which ifconfig
ifconfig 명령의 위치를 출력합니다.