fork(), exec() 함수 활용 연습문제
01-01. fork() | 부모 프로세스가 자식 프로세스 2개를 생성하고 각 자식 프로세스는 다시 자손 프로세스 2개를 생성하는 프로그램을 작성하라.
[실행결과]
01-02. fork(), execl() | 프로그램 myprog1과 myprog2를 작성한 후, 조건에 따라 프로그램을 작성하라.
작성하는 프로그램명은 myexec이다. myexec의 사용법은 “$ myexec [a|b]”이다. 즉, 입력으로 ‘a’ 혹은 ‘b’를 받는다.
(조건1) 파라미터로 ‘a’를 입력하면, “myprog1 14”를 수행하되, exec() 함수로는 execl()을 사용한다.
(조건2) 파라메터로 ‘b’를 입력하면, “myprog2 12”를 수행하되, exec() 함수로는 execlp()를 사용한다.
[실행결과]
01-03. fork(), execlp() | 조건에 따라 Shell Interpreter를 작성하라.
(조건1) "Type the command: "라고 출력되면 쉘 커멘드를 입력할 수 있게 한다. 쉘 커맨드를 입력하면 실행결과가 출력된 후 다시 "Type the command: "가 출력된다.
(조건2) "quit"을 입력하면 종료된다. 잘못된 쉘커멘드를 입력할 시에도 프로그램이 중단되어서는 안된다. 오류메시지만 출력된 후 "quit"이 입력될 때까지 프로그램이 계속되어야 한다.
[실행결과]