리눅스 유닉스 시스템에서 실행중인 프로레서의 경로를 확인 할 수 있을까요?
글쓴이: 자일자일 / 작성시간: 화, 2007/10/16 - 2:21오후
일반적으로 ps -ef 를 확인하면
다음과 같은 정보는 확인이 가능한데
UID PID PPID C STIME TTY TIME CMD
CMD에 예로 pppp 이름으로 쉘이 돌아가고 있고 저에게
pppp 쉘이 어디 경로에 있냐고 찾아보라고 한다면
전 find 명령어로 찾는 방법밖에 모르겠는데
시간도 많이 걸리고 좋은 방법이 아닌듯 한데요
더 나은 방법, 뭐 없을까요 ?
되도록이면 설치 하지 않고, 기본 명령어로 사용가능하면 좋고요
Forums:
이렇게 해보세요.
리눅스의 경우
/proc
에 각 프로세스들의 정보가 들어가 있습니다.
more /proc/프로세스번호/cmdline
하면 알 수 있을겁니다.
cmdline은 argv[0]을
cmdline은 argv[0]을 가르킬 껍니다.
이것보다는 readlink /proc/pid/exe 를 확인하는 것이 더 정확합니다.
----
Do not feed troll!
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
시스템마다 다른지.
Linux cache01 2.4.21-27-INK #1 SMP Thu Jun 15 11:39:20 KST 2006 x86_64 x86_64 x86_64 GNU/Linux
에서는 cmdline 에 프로세서명만 명시되어 있고 경로는 명시되어 있지 않고,
HP-UX greenw1 B.11.23 // /porc 존재 하지 않고
SunOS hostname 5.8 Generic_117350-20
ps 정보에 경로가 알아서 나오네요~
lsof | grep pppp 아니면
lsof | grep pppp
아니면 lsof에 옵션 많습니다.
보니까 .. (
보니까 .. ( 리눅스에서 .. )
fork한 경우 child는
# ps afx
했을 때 path가 안 나오네요.
parent의 경우는 path가 나옵니다. ;;
아무래도 system() 실행시 들어가는 내용이 그냥 남나보아요.
/proc/PID/maps
.. 를 참조하는 것도 방법일 것 같은데,
일반적인 방법이라고 하기는 어렵겠군요. =_=
윗분 말씀대로 /proc/PID/exe를 확인하는 게 최선인 것 같습니다. ;;
흠 ps axf 말고
ps axfww 로 하면 원하시는 결과가 나오지 않을까요?
그래도 나오는
그래도 나오는 녀석이 있고 안 나오는 녀석이 있네요.
ww 는 오른쪽 넘어가서 잘리는 것만 보여주는 것 같고요 .. ^^a
댓글 달기