2014-05-12 2 views

답변

1

stderr는 G-WAN에서 어디로 이동합니까? G-WAN은 부모 터미널에서 dettached 된대로 어쨌든 도달 할 수 있기 때문에

내가 잘 기억한다면

stdin, strerrstdout은 데몬 모드에서 닫힙니다.

G-WAN은 컴파일 오류 및 'gracefull'크래시 보고서 (서블릿 충돌로 인해 서버가 손상되지 않음)와 같은 콘솔 출력을 여전히 표시하는 '대화식'모드에서 이러한 파일 설명자가 열립니다.

이 용이 (등 C, C++, C#, Java, PH7, Objective-C) 모듈로로드 된 스크립트를 스크립트는 G-WAN 메모리 공간을 공유 할 때, 즉,을 사용하는 G-WAN에서 확인할 수있다 .

그러나 CGI 공정이 대신 사용될 때 스크립트 런타임 모듈 ( Ruby, Perl 등) G-WAN 외부 프로세스를 실행하고 stdout 배관 바와 같이이 상이한로로드되지 않았기 때문에.

나중에이 경우 G-WAN에는 stderr을 스트리밍 할 다른 파이프가 필요합니다. 이것은 완료되지 않았으므로 스크립트에서 출력을 stderr으로 보낼 때 아무 것도 볼 수 없습니다.

더 많은 파이프를 사용하면 더 많은 파일 설명자를 소비하게되고 서버로드가 빨라지므로이 기능을 사용하여 우리와 공유 할 가치가있는 경우가 아니라면 구현하는 것이 좋지 않을 것입니다.

궁극적으로 모든 스크립트 언어는 G-WAN 메모리 공간에로드 된 모듈을 사용해야합니다. 이는 훨씬 더 높은 성능과 동시성을 허용하기 때문입니다.

따라서 G-WAN에서 으로 추가 비용없이 stderr을 사용할 수 있기 전에 시간 문제 (그리고 Ruby 커뮤니티의 도움)입니다.

관련 문제