Contents

Develop
2003.04.23 10:44

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

조회 수 27634 댓글 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
번호 분류 제목 글쓴이 날짜 조회 수
793 Develop [ios] VIN Scanner (VIN barcode) 스캐너 file hooni 2017.09.16 763
792 Develop [android] 안드로이드 앱 문서 샘플 file hooni 2017.07.11 2206
791 Develop [coding] 공부해야 하는거 ㅋㅋ secret hooni 2017.06.27 0
790 Develop [coding] Find all anagrams in a string hooni 2017.06.27 1272
789 Develop [android] SQLiteOpenHelper를 이용한 DBManager hooni 2017.06.14 2160
788 Develop [android] 간단한 SQLIite 예제 hooni 2017.06.14 1442
787 Develop 캘리포니아 운전면허 족보 file hooni 2017.06.12 858
786 Develop 사이버보안실무 발표자료 (2017.06.08) file hooni 2017.06.05 1315
785 Develop 리팩토링 계획안 file hooni 2017.05.15 846
784 Develop [ios] 코코아 프로그래밍의 네이밍 룰(명명 규칙) hooni 2017.05.11 1263
783 Develop [ios] Facebook SDK 로그인 설명 file hooni 2017.04.19 1288
782 Develop [ios] NSString, RegularExpression Find/Replace hooni 2017.04.14 926
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 71 Next
/ 71