-2

ls 、 pwd などの基本的なコマンドを実行するために、C で基本的なシェルをコーディングしました。
たとえば、プロセスが完了するまで待機するのではなく、プロセスをバックグラウンドで実行できる機能があります。現在バックグラウンドで実行されているプロセスを含むリスト)
全体として、プロセスが完了したかどうかを知りたいので、リストから削除できます。
ありがとう

4

1 に答える 1

1

子プロセスが終了すると、SIGCHLDシグナルが親プロセスに送信されます。waitpidフラグ付きの関数をWNOHANG使用して、子プロセスが終了したか、まだ実行中かを確認できます。おそらく、これらの両方の方法を組み合わせたいと思うでしょう。

于 2013-11-06T21:58:18.433 に答える