Linux 에서 실행파일을 실행한 곳 위치 구하는 방법

haryngod의 이미지

지금 짜고 있는 프로그램에서 현재 실행 파일이 실행 된 위치를 알고 싶습니다.
워킹디렉토리는 이미 변경 된 후에 구해야 하는 것이라서
getcwd() 이외의 방법을 알고 싶은데
예를들어, ./a.out 파일이 실행 된 위치를 알 수 있는 방법은 없을까요?

ks14cc의 이미지

ps 명령으로 확인이 될지 모르겠습니다.
f옵션을 넣으면 확인가능할것 같습니다.

ps -eLf |grep "a.out"

김정균의 이미지

PID를 알 수 있으면, readlink call을 이용해서 /proc/PID_NUMBER/cwd 를 읽으면 되기는 합니다.