소개글
1
목차
인수(argument)로 받은 명령어를 자식 프로세스를 생성하여 수행시키고(execvp 함수이용).명령어의 종료 상태(exit status)를 출력하는 프로그램을 작성하라.
-fork()함수
-exec 함수
-perror()
-exit()함수
-wait()함수
-순서도
-Source
-실행 결과
본문내용
main(argc,argv) //쉘로 부터 인자 argc와 argv를 취한다.
int argc;
char *argv[]; //argv(명령어)인자를 argv[]배열에 대입
{
int fork();
int status, wait();
if (fork() == 0) {
//fork()에 의해 자식 프로세스 생성. 부모프로세스는 반환값이 자식pid이므로 것짓이고,자식프로세스는 반환값이 ‘0’이므로 if구문 실행.
execvp( argv[1], &argv[1] );
//excvp에 의해 쉘 상태에서 받은 명령실행.명령이 성공적으로 수행시 자식프로세스는 쉘명령어로 프로세스가 대치되므로 쉘명령의 종료시 자식프로세스도 종료됨.즉 아래 구문은 실행되지않음.
perror( argv[1] );
//execvp()함수의 인자 즉 명령의 실패시 명령어와 에러 메시지출력
exit(127); //호출 프로세스에 인자’127을 넘겨주고 종료.
}
참고 자료
없음