프로세스가 어디에서 명령을 받는지 어떻게 알 수 있습니까?


1

일부 디렉토리에서 시작하라는 명령을 내렸지 만 시뮬레이션을 명령 한 디렉토리를 기억하지 않습니다. 시뮬레이션을 실행하기 위해 파이썬을 사용하고 있습니다.

ps aux | grep PID

실행중인 프로그램의 위치 만 표시합니다. (/ usr / bin / python). 그러나 실행중인 파일이있는 초기 지점에서 명령이 어디에서 작동하는지 알고 싶습니다.

유용한 의견을 보내 주셔서 감사합니다.

감사 :)

답변:



1

파이썬 스크립트의 경로를 보려면 일반적으로 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


0

which명령을 사용하십시오 . 예를 들어 which ifconfigifconfig 명령의 위치를 ​​출력합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.