필자는 개발 중에 디버깅 정보가 stderr로 이동하기 전에 (완전히 '데몬 화'되기 전에) 데몬을 작성했습니다. 이제 코드가 더 성숙하므로 stderr이 /dev/null
으로 freopen(2)
호출로 리디렉션되었습니다. 디버깅을 위해 서버 데몬에 연결하고 명령을 보내서 마술처럼 소켓을 통해 stderr
스트림을 보내도록하고 싶습니다.상위 프로세스의 stderr을 분기 된 프로세스의 소켓 파일 설명자로 리디렉션 할 수 있습니까?
아이의 소켓 파일 기술자에 부모 프로세스의 stderr
에 동작처럼 'dup(2)
'할 (갈래의 과정에서) 방법이 있나요? Linux 전용 솔루션을 사용할 수 있습니다.
stderr
으로 인쇄 할 수있는 코드가 있습니다. 확인을 위해 입니다. - 나는 단순히 만지지 않습니다. dup2
내가 부탁 해요 무엇을 할 수 있다면
이 작동합니다 : Redirect STDOUT and STDERR to socket in C?
당신은 그것을 FIFO로 보내고 그것을 netcating하는 것을 고려 했습니까? –
질문에서 _child_ 및 _parent_ 토론에 혼란 스럽습니다. 서버'fork (2)'가 모든 클라이언트에 대해 자식을합니까? 이 생성 된 자식 중 하나에서 _parent's_ 디버깅 정보를 가져 오시겠습니까? – sarnold
@sarnold 예 & 예. 부모의 디버깅 정보를 생성 된 자식 중 하나에 대해 얻고 싶습니다. – Jamie