は、以下のコードを考慮した値そこにいるはずです。今、私はこのPID変数は、によって返された2つの値を持つことができない理解するvfork()すなわち、子供のためのゼロと親のための非ゼロ? フォークの場合は戻りのvfork()システムコール
()アドレス空間にもコピーされますと、PID変数の2つのコピーがそれぞれの子と親であるので、私はこの場合、2つの異なるコピーを理解することができます異なる値がフォークで戻ってきたことができます()の場合、vfork()の2つの値が返される方法を理解できませんvfork()?
これは致命的です - あなたは['vfork()'](http://pubs.opengroup.org/onlinepubs/009695399/toc.htm)の子で 'exec()'または '_exitしかし、それはちょうどそれです。他のほとんどは、未定義の動作につながります。推奨:['vfork()'](http://pubs.opengroup.org/onlinepubs/007908799/xsh/vfork.html)は使わないでください。確かに、私はそれを安全に使う方法を学ぶことさえ気にしませんでした。それは 'gets()'のようなもので、ふりをするのが最善である関数は存在しません。 –
@JonathanLeffler: 'vfork()'はMMUレスシステムでは非常に便利です。 – ninjalj
はい、私はそれを使用すべきではないと私は同意しますが、vforkを使ってプロセスツリーを作成し、ツリーの異なるレベルのプロセス間の通信の問題を解決していました。私は、urのアドバイスをしておきます。 –