-1

フォークの後、子が Excele() コマンドを使用して実行するシナリオがあります

小さなシェル スクリプトを実行する Linux システム コマンド。

その後、親は wait() のみを実行します。だから私の質問は、親は実行しますか

子プロセスが実行する execle() の後に待機しますか?

ありがとうスミタ

4

2 に答える 2

0

あなたが何を求めているのかよくわかりませんが、親は wait() システムコールにあり、子が終了するまでそこで待機します。出口からそれを取り出す信号のようなものは他にもあります。

エラー時に誤って親コードに陥らないように、子プロセスで注意する必要があります。

于 2012-10-06T12:27:35.023 に答える
0

execveこれ (子プロセスが親プロセスの後に何かを実行しfork、親プロセスがwaitそれを実行waitpidする) は、非常に一般的なシナリオです。ほとんどのシェルはこのように動作しています。たとえばstrace -f、対話型bashシェルで詳細を学習したり、次のような単純なシェルのソース コードを調べたりすることができます。sash

fork(2) syscall の後、親プロセスと子プロセスが同時に実行される場合があることに注意してください(たとえば、特にマルチコア マシンでは同時に)。

于 2012-10-06T12:27:59.670 に答える