혹시 게이들중에 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가 먼저뜰수도있고 나중에 뜰수도있음
2018.01.13
출력하는건 부모고 자식이 그 다음으로 스케줄됐겠지
2018.01.13
순서를 맞추고 싶은거면 if문 끝나는 시점에 wait()같은거로 싱크 맞춰주면 됨
번호 제목 글쓴이 추천 수 날짜 조회 수
공지 컴퓨터 / IT에 관련된 글을 올려주시기 바랍니다. 21 overflow 4 2016.08.22 16114
65401 실시간 메인보드 조립(z370 pro4) 질문! 12 후로게임 0 2018.01.13 129
65400 노트북 성능저하 도움점;; 2 닉값충실히함 0 2018.01.13 149
65399 용팔이들 너무미친거아님? ㅡㅡ 6 징어 0 2018.01.13 447
65398 인텔 당했다 6 억만 주라 0 2018.01.13 354
65397 현 와이어리스 블루투스 이어폰 최고봉은 에어팟임? 29 년차 호그와트 비... 0 2018.01.13 261
65396 컴잘알 형님들 씨퓨 질문있습니다 7 긍정씨 0 2018.01.13 94
65395 컴터 새로 사거나 부품교환하려는데 도움요청! 5 볼파란갱년기 0 2018.01.13 40
65394 라이젠 오버클럭 질문이요~! 2 망구리 0 2018.01.13 101
65393 컴퓨터가 부팅하다가 멈추는데 뭐가문제인가요? 3 김진 0 2018.01.13 99
65392 모니터샀는데 이러면 어떻게 해야하나요? ㅋㅋㅋ 7 PUMA 0 2018.01.13 215
65391 핸드폰 고민좀 3 MaTTa 0 2018.01.13 83
혹시 게이들중에 fork()명령어 잘 아는 게이 있음?? 3 노잼외국인 0 2018.01.13 107
65389 Vr기기 쓰는분 2 응맞아 0 2018.01.13 90
65388 아이패드도 패치 후 성능저하 포함이여? 1 쵸크라테스 0 2018.01.13 127
65387 ZOTAC 지포스 GTX1080 Ti 이거에 맞는 보드랑 파워 쿨러 케... 4 섯테 0 2018.01.13 338
65386 8기가 메모리 3개 있는데 3개낄까 한개는 팔까? 5 후로게임 0 2018.01.13 214
65385 디비니티 오리지널신2 라는 게임하는데 글픽 소음 낮은애 뭐... 3 리로레로 0 2018.01.13 78
65384 인터넷방송 관련 질문이야! 5 벚꽃엔딩 0 2018.01.13 116
65383 나도 it 지식좀 늘리고 싶다. 16 해정제 0 2018.01.13 242
65382 노트북 메인보드 맛간걸까요?? 2 던파이게게임이냐 0 2018.01.13 70
서버에 요청 중입니다. 잠시만 기다려 주십시오...