cを使用してLinuxオペレーティングシステムでプロセス制御に取り組んでいます。fork() 関数は本当に私を混乱させます。私が知っていること:fork()
が呼び出されたとき
1) の直後のコードfork()
が子プロセスにコピーされます。2) どちら (親または子) が最初に実行されるかを判断できません。次のコードを実行します。
int main() {
printf("Hi");
fork();
return 0;
}
私の最初の質問は、なぜ Hi を 2 回受け取るのですか? Working of fork() in linux gccで説明されていますが、それでも誰かにもっと簡単に説明してもらいたいです。
私の2番目の疑問:改行文字(\ n)を使用しても出力をsomefile.txtにリダイレクトすると、出力は次のようになります。
こんにちは
こんにちは
説明してください ...
私が見逃した場合は、詳細を教えてください。fork()