System Programming(Unix & Linux)1 Linux & Unix 에서 fork(), getpid(), pipe(), kill(), fcntl() 사용방법 Blocking : 어떤 대상이 이용가능할때까지 대기하는 상태 NoneBlocking : 어떤 대상이 이용가능하지 않으면 리턴값을 발생시키고 다음으로 넘어가는 상태 fork() 를 통해 받는 pid 는 명령어에서 ps 를 쳐서 확인할 수 있는 프로세스 id 가 아니라 구분하기위해 임의로 발급한 아이디다. 발급받은 값이 0 이면 자식 프로세스이고, 0 이 아니면 부모 프로세스이다. 수행중인 녀석의 실제 프로세스 id 를 확인하려면 getpid() 를 사용하면 된다. pipe() 함수를 이용하면 프로세스간 값을 주고 받을수 있으며 일반적으로 자식 프로세스가 자신의 프로세스 아이디를 getpid()를 통해 얻은후 pipe 통신으로 부모에게 전달한다. 여기서 구현한 파이프는 일방통행이므로 한개만 생성해도 문제가.. 2008. 4. 21. 이전 1 다음