명령 행이 아닌 Linux 실행 파일 실행 입력하여) 파일이 표준 출력

GUI에서 실행하는 실행 파일 * .out이있는 경우 ( Fedora에서 Alt+ F2를 누르고 이름을 입력하여) 파일이 표준 출력 / 표준 으로 읽거나 인쇄하려고하면 어떻게됩니까 ? 어떤 보험 계리사가 발생합니까? 이 파일 디스크립터는 터미널에서 시작하지 않을 때에도 생성됩니까? 그들이 접근 할 수 있습니까?



답변

발생하는 일은 본질적으로 터미널을 시작 &하고 마지막에 명령 줄 을 실행하여 백그라운드에서 실행하고 프로그램이 여전히 실행되는 동안 터미널을 닫는 것과 동일합니다. 프로그램이 GUI에서 정확히 시작된 방법에 따라 표준 오류 ~/.xsession-errors또는 창 관리자가 사용하는 동등한 파일 에 액세스 할 수 있습니다 .

일반적으로 이런 방식으로 시작된 프로그램의 표준 출력 및 표준 입력은 액세스 할 수 없습니다. 그들은 보통을 가리킬 것 /dev/null입니다. 당신은 입력 및 출력을 사용하여 리디렉션 할 수 있지만 참고 <>program < file.in > file.out.


답변

분명히-stdin read failure 양식을 읽는 경우 irs가 stdout에 쓰면-Lars가 말한 곳에서 Stderr가 수집됩니다.