UNIX System Programming by Yang-Sae Moon
Page 1
Homework #10 (1/4)
프로그램을 작성하고 , 프로그램과 실행 결과를 프린트하여 제출한다 .
1. 부모가 자식 둘을 생성하고 , 각 자식은 다시 손자 둘을 생성하는 프로그램을 작성하시오 .
부모는 자식 둘을 생성한 후 ,
“I am a parent(pid, ppid). I created two children!”을 출력하고 종료한다 .
각 자식은 손자 둘을 생성한 후 ,
“I am a child(pid, ppid). I created two grandchildren!”을 출력하고 종료한다 .
각 손자는 “ I am a grandchild(pid). I do not create any descendant!” 를 출력하고 종료한다 .
상기 문구에서 “ pid” 는 해당 프로세스의 Process ID 를 , “ppid” 는 부모 프로세스의 Process ID 를 출력 하라는 의미이다 .
UNIX System Programming by Yang-Sae Moon
Page 2
Homework #10 (2/4)
2. 다음 프로그램 두 개 (myprog1, myprog2) 를 작성한 후 , 지시에 따라 프로그램을 작성하 라 .
UNIX System Programming by Yang-Sae Moon
Page 3
Homework #10 (3/4)
2. ( 계속 ) 작성해야 하는 프로그램의 이름은 myexec 이다 .
myexec 의 사용법은 “ $ myexec [a|b]” 이다 . 즉 , 입력으로 ‘ a’ 혹은 ‘ b’ 를 받는다 .
파라메터로 ‘ a’ 를 입력하면 , “myprog1 15” 를 수행하되 , exec() 함수로는 execl() 을 사용한다 .
파라메터로 ‘ b’ 를 입력하면 , “myprog2 15” 를 수행하되 , exec() 함수로는 execlp() 를 사용한다 .
UNIX System Programming by Yang-Sae Moon
Page 4
Homework #10 (4/4)
3. 프로세스 시간 측정에 대한 프로그램을 작성하고 , 실행 결과를 출력하여 제출한다 .
강의노트 14 의 cmd_time.c 프로그램을 작성한다 .
수행시간이 다소 걸리는 프로그램을 2 개 작성한다 . ( 자신만의 프로그램이어야 함 !)
작성한 2 개 프로그램을 cmd_time.c 프로그램으로 실행하여 그 결과를 캡쳐한다 .