fork()の呼び出しが正常に実行された場合、Unixは に、アドレス空間の2つの同一のコピーを作成します。 両方のプロセスは、fork()コールの次の文で実行を開始します[Ref:http://www.csl.mtu.edu/cs4411.ck/www/NOTES/process/fork/create.html]。fork()システムコールのコンセプト
だから、私は次のコードを実行した場合:どこを説明してください
#include <stdio.h>
int main(void)
{
printf("Hello\n");
fork();
printf("World\n");
return 0;
}
を私はそれが
Hello
World
World
を印刷すると思います。しかし、私はプログラムを実行するときには、
Hello
World
Hello
World
を印刷します私は概念が欠けていますか?
奇妙な、私は期待された出力を得ています。 こんにちは ワールド ワールド – Rusty
もし私が間違っていたら、あなたはprintf()を使うと 'Hello World World' o/p.correctを持つことはできません。 – Hailey
あなたは出力として "Hello World World"を持っています。私は単純にコードをコピーしてコンパイルし、同じものを得ました。これは私が期待したものです。 – Rusty