私は、Operative Sytems クラスのプログラムを実行しています。できればパイプを使用せずに、子プロセスからその親プロセスに整数を渡す良い方法が必要です。
少し試行錯誤した後、次のような仕事をすることができました:
pid_t pid_son;
int status;
if( (pid_son = fork()) >= 0) {
if(pid_son == 0) {
int result = 0;
// Make some arithmetic
exit(result);
}
else {
while(pid_son != wait(&status));
printf("The result is %d\n",result);
}
}
しかし、それは私には「正しく」見えません( exit は、ランダムな整数ではなく、エラー処理のためにプロセスの終了ステータスを返すことになっています)。このトリックを使用せずに結果を親プロセスに「送信」するよりクリーンな方法はありますか?