stdoutが削除されたことを確認する正しい方法は何ですか?

stdoutが削除されたことを確認する正しい方法は何ですか?

実行中の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)そうではありません。

ベストアンサー1

おすすめ記事