私はこのようなものを持っています:
pipe
close(pipe[0]);
parent writes something to pipe
close(pipe[1]);
fork();
if(child)
{
close(pipe[1]);
child reads from pipe
close(pipe[0]);
child does some operations
child writes to pipe
close(pipe[1]);
}
else
{
back to parent
close(pipe[0]);
wait(&code);
parent tries to read what the terminated child just wrote but fails to do so
}
親が終了した子から読み取れるようにするために何ができるかよくわかりません。を利用する必要がありdup
ますか? どのような状況で役立つのdup
か、よくわかりません。dup2
書き込みと読み取りは、関数write()
とread()
関数を使用して行われます。
プロセス間で通信するには、fifo やその他の手段ではなく、パイプを使用する必要があります。