실행 중인 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)
그렇지 않습니다.