fork() / execvp() 에 관한 질문입니다.
글쓴이: bebem / 작성시간: 금, 2003/05/16 - 4:03오후
fork() 와 execvp()를 이용한 간단한 프로그램을 만들려고 합니다.
아래와 같이 프로그램 이름을 test라고 하고 일단 커맨드 라인에서 인자로 실행할 프로그램 명을 받는 다고 할 때
$ test bash
execvp()를 사용하면 현재의 $PATH를 검색해서 bash를 실행시킬 수 있죠.
이때 예를 들어 /bin/bash, /usr/bin/bash, ./bash 의 세가지 버전이 있다고 할 때 $PATH에 /bin, /usr/bin, . 이 어떤 순서로 주어져 있냐에 따라서
셋중 하나가 실행될 수 있을 것입니다.
제가 만들고 싶은 것은 이중 어떤 bash가 실행되었는지를 알아내는 것인데요,
고수님들의 도움을 바랍니다.
감사합니다.
Forums:
/proc 에서 해당 프로세스 정보를 얻어내거나,PATH 문자열을 읽
/proc 에서 해당 프로세스 정보를 얻어내거나,
PATH 문자열을 읽어서, 해당 프로그램이 가장 먼저 찾아지는
경로를 판단하면 될 것 같습니다. which 명령 구현을
참조하셔도 될 것 같네요.
참고:
http://bbs.kldp.org/viewtopic.php?t=3121&highlight=%C0%FD%B4%EB%B0%E6%B7%CE
Orion Project : http://orionids.org
댓글 달기