모든 프로세스의 출력을 동시에 보려면 어떻게 해야 합니까?

모든 프로세스의 출력을 동시에 보려면 어떻게 해야 합니까?

다양한 백그라운드 프로세스에 연결하여 콘솔 출력을 볼 수 있다는 것을 알고 있지만 모든 프로세스의 출력을 한 번에 볼 수 있는 방법이 있습니까? 빠르게 스크롤되어 읽기 어려울 수 있지만 이것이 가능합니까?

답변1

글쎄요, 백그라운드의 셸에서 여러 프로세스를 생성한 다음(모두 stdout 또는 stderr을 사용하는 경우) 다음을 얻을 수 있습니다.위치콘솔의 혼합된 정보 - 혼합이란 라인 중간에 여러 프로세스의 데이터를 혼합할 수도 있다는 의미입니다.

아마도 당신이 찾고 있는 것은 파일(시스템 서비스가 일반적으로 사용하는 것 /var/log)에 로깅한 다음 파일을 보는 것입니다. 이 목적을 위한 여러 가지 유틸리티가 있습니다: ( tail중요한 옵션 -F, 파일을 감시하고 추가된 줄을 인쇄합니다.) less동일한 작업을 대화식으로 수행할 수 있습니다(따라가기 모드에서). 즉, 파일을 따라갈 수 있고 뒤로 스크롤할 수 있습니다. ). 거의 모든 곳에서 발견되는 "클래식" 유틸리티인 most또 다른 흥미로운 파일 페이징 유틸리티입니다 more(DOS 및 Windows에서도 마찬가지입니다).

마지막으로 tee흥미로운 점은 stdin을 stdout으로 복사한다는 것입니다.그리고파일로 저장하면 종종 유용합니다.

답변2

둘 다 로그 파일에 쓰는 경우 멀티테일을 사용하여 동시에 추적할 수 있습니다.

답변3

모든 프로세스? 대부분의 백그라운드 프로세스는 실제로 의도적으로 파일 설명자를 닫으며, 파일 설명자를 회수하거나 프로세스가 새 파일 설명자를 인식하도록 하는 쉬운 방법은 없습니다.

다른 사람들이 말했듯이 모든 메시지에 대해 syslog를 볼 수 있으며 많은 사용자 생성 프로세스는 실제로 출력을 어딘가에 지시하므로(적어도 일반 X 부팅 환경을 실행하는 경우) 볼 수 있습니다. 어떤 파일을 찾아야 하는지 알고 있다면 그 파일을 선택하세요. 그러나 대부분의 경우 출력을 보내도록 정의된 위치가 없기 때문에 사용자가 아닌 모든 프로세스의 출력을 볼 수 없습니다.

관련 정보