• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

자식 프로세스 실행에 대해서 질문이 있습니다.

19.05.08 23:38 작성 조회수 205

0

fork를 하면 부모 프로세스가 복사되어서 자식 프로세스가 생기는데 프로세스라는 기준이 프로그램을 말하는 것 아닌가요?

이 궁금증은 메인 함수에서의 첫 printf는 자식에 대해선 실행이 안되어서 생겼습니다

그런데 만일 제 궁금증이 생겨나지 않았다면 프로그램 자체는 재귀적으로 계속 fork를 하기 때문에 문제가 생기고요

복사는 fork 아래의 코드만 복사를 한다는 의미죠? 

답변 2

·

답변을 작성해보세요.

1

fork()는 부모 프로세스 전체를 복사해 자식 프로세스를 만들게 됩니다. 전체를 복사했다고 해서 메인 함수부터 실행하지는 않습니다. 새로 생겨난 자식 프로세스는 fork() 함수를 호출한 이후부터 실행되기 때문입니다. fork()의 return value가 0인 부분부터 실행된다고 생각하시면 이해가 쉬우실 것 같습니다.

0

유영재님의 프로필

유영재

질문자

2019.05.09

감사합니다