実行中のCプログラムからstdoutが削除されたことを確認する必要があります。
/proc/pid/fd
「削除済み」とは、「削除済み」と表示された部分を意味する。
ll /proc/91495/fd
total 0
dr-x------ 2 ibse ibse 0 січ 31 00:49 ./
dr-xr-xr-x 9 ibse ibse 0 січ 31 00:49 ../
lrwx------ 1 ibse ibse 64 січ 31 00:49 0 -> '/dev/pts/5 (deleted)'
lrwx------ 1 ibse ibse 64 січ 31 00:50 1 -> '/dev/pts/5 (deleted)'
たとえば、プログラムの制御端末がシャットダウン/クローズされると、これが発生する可能性があります。
標準出力に書き込まずに返されたエラーを確認する方法はありますか?
この場合、使用するとエラーが返されると仮定しましたが、fstat(STDOUT_FILENO, &buf)
そうではありません。