방금 포크에 대해 배웠고, 포크에 대한 호출에서 자식 프로세스가 실행되기 시작합니다 (그렇지 않으면 포크가 재귀가 될 수 있습니까?).메인이 두 번 호출되는 이유는 무엇입니까?
int main() {
printf("%d: Common code1\n", getpid());
if (fork() != 0) {
printf("%d: Parent code\n", getpid());
} else {
printf("%d: Child code\n", getpid());
}
printf("%d: Common code\n", getpid());
}
출력은 다음과 같습니다 : 4 라인이 인쇄 된 이유
는27380: Common code1
27380: Parent code
27380: Common code
27380: Common code1
27383: Child code
27383: Common code
이해가 안 그러나이 코드 (ideone link)에서
? 자식 프로세스에서 인쇄되어 main이라는 포크가 부모로부터 인쇄되었지만 fork가 main을 호출하지 않는다면 이해할 수 있습니다.
[출력이 두 번 인쇄되는 이유는 무엇입니까?] (http://stackoverflow.com/questions/3822755/why-the-output-is-printing-twice) – leppie
두 개를 선택 했습니까? 하나의 작은 문자 만 다른 매우 긴 문자열 *? 우리를 너무 미워하니? –
매우 길어? 방금 복사하고 붙여 넣은 다음 1을 추가하는 것이 가장 빠른 차별화 전쟁이었습니다 –