1. int sleep(n) 함수는 n 초 동안 멈추었다가 수행을 재개하도록 하는 함수이다. 이러한 sleep() 함수를 signal, alarm, pause 함수를 써서 구현해보라.
힌트:
signal(SIGINT, sig_int);
unsigned int alarm(unsigned int second);
int pause();
#define SIGALRM 14
2. 유닉스/리눅스의 쉘에서 파이프는 한 프로세스의 표준 출력을 다른 프로세스의 표준 입력으로 연결하는 기능이다. 예를 들면,
$ proc1 | proc2
와 같이 수행하면 proc1의 표준출력이 proc2의 표준입력으로 연결이 된다. 이러한 기능을 하는 프로그램 코드를 다음과 같이 작성해보자(코드의 일부분만 보여줄 것).
- 부모프로세스(proc1)는 fork()전에 파이프 생성
- fork() 호출
- 부모프로세스는 표준출력을 가리키는 파일디스크립터가 파이프를 가리키도록 함(dup*()함수 이용)
- 자식프로세스는 표준입력을 가리키는 파일디스크립터가 파이프를 가리키도록 함
- 자식프로세스는 exec*() 호출을 통해 proc2 수행
hint1:
int dup (int filedes);
int dup2 (int filedes , int filedes2);
hint2:
exec*() 호출의 정확한 syntax는 적지 않아도 됨.
이거풀어주면 내가인정해준다
너따위놈한테 인정받아서 뭐하냐?
성범아 교수님이 봤다
니내 타임오바야 나1번풀엇다 ㅋㅋㅋ
뭐여 이 병맛은
꼭 실력없는것들이 저런 리플달지 ㅋ 형은간다 도움도안되내