solaris에서 ps 프로그램 작성시..

psjcap의 이미지

solaris에서 ps 프로그램을 작성했습니다..

우선 /proc/pid/psinfo 파일을 psinfo_t 형 구조체로 읽어온 후..
psinfo_t형 구조체의 pr_argv 값을 이용해서..
/proc/pid/as 파일에서 전체 argv 값을 읽는 형태로 작성하였습니다..

근데 64bit 로 컴파일된 프로세스들이 있는데..
이 넘들은 /proc/pid/as 파일을 읽질 못하고 있습니다..ㅜㅡ;

pread나 pread64로 읽으려고 하면..
EOVERFLOW 에러가 리턴됩니다..

혹시 비슷한 프로그램을 작성해 보신 분이나..
실행 프로그램의 full path를 찾아내는 법을 알고 계신분 계신가여.?

mach의 이미지

lsof를 살펴보시면 보탬이 될지도 모르겠군요.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.