혹시 게이들중에 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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180474 [컴퓨터] 님들 랜선 연결 어케해요? 9 플랑크톤상점버거 0 46 분 전 48
180473 [컴퓨터] 올그떠 보인다길래 삭제함 Benetton 0 12 시간 전 145
180472 [잡담] wh xm4 끼고 자다가 오른쪽 박살남ㅠㅠ 8 곰문곰문곰문곰문... 0 13 시간 전 248
180471 [컴퓨터] 컴퓨터 완본체 샀는데 깔아야할 드라이버나 설정 있나요? 10 하이웨이 0 17 시간 전 236
180470 [잡담] 좆데온 8천번대보다 7900xtx가 9 전기모기채는신이야 0 18 시간 전 293
180469 [컴퓨터] 형님들 견적짠거 호환 문제없는지 확인 부탁드립니다 2 우루루옳지 0 18 시간 전 104
180468 [정보] 크러쉬80 - 레이니75를 만든 Wob의 텐키리스 키보드 2 Veigrake 0 19 시간 전 235
180467 [잡담] 여기 로봇 청소기도 물어봐도 됨?? 12 년째재수강 0 19 시간 전 208
180466 [잡담] 윈도우12 전부 레거시쳐낸다는말이 하드웨어를 말한거구나 4 이거보인다면기분탓임 0 20 시간 전 321
180465 [컴퓨터] 갤럭시80 넘나 이쁜것이예요 2 군마 1 22 시간 전 412
180464 [모바일] 차량용 맥세이프 충전기 탁상용으로 쓰니 좋다 4 년째군대 0 23 시간 전 214
180463 [잡담] 채터링 어캐잡습니까... 5 로우팡맨 0 23 시간 전 199
180462 [잡담] 4월에 마우스 큰 게 두 개 나오네 15 GNStout 0 1 일 전 297
180461 [컴퓨터] 무선 키보드 마우스 세트는 별로인가? 3 하이웨이 0 1 일 전 144
180460 [컴퓨터] 10만원대 포터블 모니터는 사는거 아니더라 17 코싸멘뚜 0 1 일 전 264
180459 [정보] 레이니75 저격하는 브릿지75 19 Veigrake 0 1 일 전 356
180458 [잡담] 드디어 왔다 레이니 5 ltearl 0 1 일 전 320
180457 [프로그래밍] 그 혹시 게임쪽 종사자 있음? 17 god79ii 0 1 일 전 476
180456 [컴퓨터] sata 케이블때문에 ssd가 망가질 수도 있나요? 9 드웨인토마스 1 1 일 전 350
180455 [모바일] 횽들 어거좀 봐줘 6 부자가될개붕이놈들 0 1 일 전 211