실행이 완료된 후 기본 터미널 대신 백그라운드 프로세스 출력을 "less" 호출기로 리디렉션합니다.

실행이 완료된 후 기본 터미널 대신 백그라운드 프로세스 출력을 "less" 호출기로 리디렉션합니다.

&기본적으로 로 끝나는 백그라운드 프로세스 (예: ) 를 실행하면 ./test &출력이 현재 터미널에 인쇄됩니다. 직접 출력 대신,
실행이 완료될 때와 마찬가지로 출력을 호출기로 리디렉션하려면 어떻게 해야 합니까?less

답변1

가장 쉬운 방법은 출력을 파일로 리디렉션하는 것입니다. 명령이 실행된 후 를 확인하십시오 less.

  1. ./test.sh >test.out &
  2. less test.out

명령이 백그라운드에서 실행되고 있지 않더라도 이는 대규모 프로젝트를 컴파일할 때와 같은 특정 상황에서 유용할 수 있습니다.

$ make >make.out 2>make.err

또는

$ make >make.log 2>&1

그런 다음 터미널에서 위아래로 스크롤할 필요 없이 원하는 시간에 출력에서 ​​오류 등을 검사할 수 있습니다(또는 버그 보고서의 일부로 개발자에게 보낼 수 있습니다).

답변2

다음을 사용할 수 있습니다: (./test | less) &.

실행이 완료되면 less백그라운드에서 일시중지됩니다. 그런 다음 해야 할 일은 fg출력을 표시하는 것뿐입니다 less.

대괄호는 필수는 아니지만(필요한 경우 제거할 수 있음) 명령을 더 명확하게 보이게 합니다.

관련 정보