혹시 게이들중에 fork()명령어 잘 아는 게이 있음??

한가지 물어보려고 하는데 

int pid = 0;

if((pid = fork()) == 0)  {...}

printf(..1)

printf(..2)


이렇게 되면 1, 2 출력되고 if문으로 들어가는데 왜 이렇게 되는거야?

fork()가 parent process랑 똑같은 child process를 만드는건 알겠는데

프로그램 돌리면 보통 첫줄부터 시작해서 밑으로 내려가면 끝아니야? 왜 윗줄에 있는 if문 안에 내용이 나중에 호출이 되는거야?

3개의 댓글

2018.01.13
fork 의 리턴값이 0이면 내가 자식프로세스라는 뜻임
저코드는 아마도
내가 자식프로세스라면 if문 안에것을 실행하고 종료.
내가 부모프로세스라면 밑에 printf출력하고 종료.
이렇게 동작할것임.
근데 부모프로세스가 먼저실행될지 자식프로세스가 먼저실행될지는 정해지지않았기 때문에 printf가 먼저뜰수도있고 나중에 뜰수도있음
0
2018.01.13
출력하는건 부모고 자식이 그 다음으로 스케줄됐겠지
0
2018.01.13
순서를 맞추고 싶은거면 if문 끝나는 시점에 wait()같은거로 싱크 맞춰주면 됨
0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180467 [컴퓨터] 갤럭시80 넘나 이쁜것이예요 군마 0 44 분 전 42
180466 [모바일] 차량용 맥세이프 충전기 탁상용으로 쓰니 좋다 년째군대 0 57 분 전 33
180465 [잡담] 채터링 어캐잡습니까... 4 로우팡맨 0 1 시간 전 72
180464 [잡담] 4월에 마우스 큰 게 두 개 나오네 3 GNStout 0 1 시간 전 84
180463 [컴퓨터] 무선 키보드 마우스 세트는 별로인가? 3 하이웨이 0 2 시간 전 55
180462 [컴퓨터] 10만원대 포터블 모니터는 사는거 아니더라 11 코싸멘뚜 0 2 시간 전 112
180461 [정보] 레이니75 저격하는 브릿지75 18 Veigrake 0 4 시간 전 196
180460 [모바일] 새 애플펜슬 나오면 기존 제품들 가격내려가? 4 II바II코II드II 0 7 시간 전 192
180459 [잡담] 드디어 왔다 레이니 5 ltearl 0 15 시간 전 254
180458 [프로그래밍] 그 혹시 게임쪽 종사자 있음? 16 god79ii 0 15 시간 전 362
180457 [컴퓨터] sata 케이블때문에 ssd가 망가질 수도 있나요? 9 드웨인토마스 0 16 시간 전 284
180456 [컴퓨터] 구글에서만 검색창 방향키가 안먹음 뒷북 0 19 시간 전 85
180455 [모바일] 횽들 어거좀 봐줘 6 부자가될개붕이놈들 0 20 시간 전 170
180454 [컴퓨터] 선생님들 혜안을 구합니다 9 빠른인정빌런 0 21 시간 전 160
180453 [모바일] 당근으로 갤럭시탭 s9 울트라 사기로했는데 2 말이야방구야 1 21 시간 전 250
180452 [모바일] 갤럭시 동영상 자르기 안되는 이유 아시는분?? 3 일토준지 0 21 시간 전 135
180451 [프로그래밍] 코린이 ㅅㅂ 뭐가 문젠지 모르겠어요 6 집에가게해줘 0 23 시간 전 270
180450 [컴퓨터] 해피해킹 키보드 회사서 못 쓰는 이유 3 닉네임변경후13일차 0 23 시간 전 364
180449 [컴퓨터] 컴 바꿧듬 10 탑똥 1 23 시간 전 141
180448 [컴퓨터] CPU 불량이 맞는가!? 14 꺄꺄룽 0 1 일 전 195