검색어 입력폼

[리눅스 프로그래밍] 인수로 받은 명령어를 자식프로세스로 실행&상태 출력하기

등록일 2004.06.19 파워포인트파일MS 파워포인트 (ppt) | 11페이지 | 무료

소개글

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을 넘겨주고 종료.
}

참고 자료

없음
다운로드 맨위로