Contents

Develop
2003.04.23 10:44

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

Views 27645 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
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
No. Category Subject Author Date Views
793 Develop [ios] VIN Scanner (VIN barcode) 스캐너 file hooni 2017.09.16 787
792 Develop [android] 안드로이드 앱 문서 샘플 - NCComix file hooni 2017.07.11 2221
791 Develop [coding] 공부해야 하는거 ㅋㅋ secret hooni 2017.06.27 0
790 Develop [coding] Find all anagrams in a string hooni 2017.06.27 1298
789 Develop [android] SQLiteOpenHelper를 이용한 DBManager hooni 2017.06.14 2189
788 Develop [android] 간단한 SQLIite 예제 hooni 2017.06.14 1472
787 Develop 캘리포니아 운전면허 족보 file hooni 2017.06.12 890
786 Develop 사이버보안실무 발표자료 (2017.06.08) file hooni 2017.06.05 1361
785 Develop 리팩토링 계획안 file hooni 2017.05.15 874
784 Develop [ios] 코코아 프로그래밍의 네이밍 룰(명명 규칙) hooni 2017.05.11 1291
783 Develop [ios] Facebook SDK 로그인 설명 file hooni 2017.04.19 1348
782 Develop [ios] NSString, RegularExpression Find/Replace hooni 2017.04.14 958
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 71 Next
/ 71