임베디드 리눅스에서 프로그램을 개발 중입니다. 내 프로그램은 데몬 (deamon)이고 printf
(stdout 출력)으로 로그를 출력하는 로그 기능을 가지고있다.내 프로그램에서 stdout이 닫힌 것을 (텔넷 세션이 닫혀있을 때) 감지하는 방법은 무엇입니까?
그래서 임베디드 리눅스 시스템에서 텔넷 세션을 연 다음 내 프로그램을 시작하면 텔넷 세션에 출력이 표시됩니다. 텔넷 세션을 닫으면 출력 결과가 어떻게 될지 궁금합니다. 출력은 어디로 리디렉션됩니까?
텔넷 세션을 닫을 때 stdout이 닫혀 있는지 확인할 수 있습니까? stdout이 닫힐 때 로그 기능이 실행되지 않도록하기 위해서.
deamon이 stdout에 전혀 인쇄하지 않아야합니다 ... 그럼에도 불구하고 런타임 오류가 발생할 수 있습니다. 실제로 printf의 반환 값을 검사하여 작성된 문자를 결정할 수 있습니다. 시도해보십시오 ... [return] (http://linux.die.net/man/3/printf) 섹션을 참조하십시오. –