Contents

Develop
2003.04.23 10:44

[c] fork() 시스템 콜 사용 방법.

조회 수 27590 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Unix 에서 임의의 프로세스는 fork()를 이용해서
자신과 똑같은 기능을 수행하는 프로세스를 하나 복제 할 수 있다.

- fork()를 호출한 프로세스 : 부모프로세스
- 새로 생긴 프로세스 : 자식프로세스
자식 프로세스는 부모프로세스의 코드, 스택, 파일기술자, 소켓번호 등을 공유
단, 새로 생간 자식 프로세스의 id번호(PID)는
부모 프로세스의 PID와 구별되며 각종 변수들은 공유하지 않는다..

fork() 시스템 콜이 성공적으로 수행 됐을때..
- 하나의 프로세스가 두개의 프로세스로 된다.
(두 프로세스의 fork() 리턴문이 서로 다르다는 것을 이용하여 두 프로세스는 수행할 일을 구분한다.)
- 부모프로세스에게는 fork()의 리턴값으로 새로 만들어진 자식 PID가 리턴
- 자식 프로세스는 fork()의 리턴값이 0이 된다.
fork()이 실패한 경우는 -1이 리턴되고 자식 프로세스는 생성되지 않는다.

----------------------------------------------

  부모 프로세스(PID=135)  <┐
            |                         │ fork() 리턴값 136
         fork() ───────┘
           │
  자식 프로세스(PID=136) -> fork()리턴값 0

----------------------------------------------

int pid;
pid = fork();

if(pid==0){
    child_work(); // 자식 프로세스용 코드
}else{
    parent_work(); // 부로 프로세스용 코드
}


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
841 Develop 프로그램 문서 관리 (Doxygen) hooni 2013.04.23 16391
840 Develop 프로그래밍에서 foo, bar 함수의 유래 file hooni 2013.06.25 21264
839 Develop 프로그래밍 소스 관련 사이트.. hooni 2013.04.23 16486
838 Develop 페이팔에서 돈 찾기 (Paypal withdraw) file hooni 2014.02.20 11383
837 Develop 캘리포니아 운전면허 족보 file hooni 2017.06.12 742
836 Develop 최근 논문 자료 (2011/01/03, 만현형한테 보낸거..) secret hooni 2013.04.23 10366
835 Develop 참고하고 지울 자료.. 집에서 바야지.. ㅋㅋ file hooni 2013.04.23 12129
834 Develop 정리할 자료. file hooni 2015.07.02 679
833 Develop 자주 쓰는 Docker 명령어 alias hooni 2020.01.10 269755
832 Develop 이어서 작업할 내용~ secret hooni 2013.11.21 0
831 Develop 웹페이지 성능 테스트 툴 설명 hooni 2013.04.23 27449
830 Develop 알고리즘 성능분석 file hooni 2014.06.24 2972
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 71 Next
/ 71