Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
私はこのようなコードを持っています:
fork(); if child: execvp("sth"); //Just returns if errors if parent: save child pid;
anther 関数では、子が終了したかどうかを確認したいのですが、使用したくありませんwaitpid。それを行う他の方法はありますか?
waitpid
子が終了したときに親に配信される SIGCHLD を処理するシグナル ハンドラーを設定できます。技術的には、非同期で呼び出されたとしても、それは「別の関数」です。ただし、信号を取得した後でも使用する必要がwaitpidあります。複数の子供がいる場合、それらを区別できることがわかっている唯一の方法です。