bg 이후 명령 출력을 중지할 수 있습니까?

bg 이후 명령 출력을 중지할 수 있습니까?

이런 상황을 가정해보자

wget http://file 

wget이 파일 다운로드를 시작합니다.

저는 배경에 넣어두었어요.

^Z
bg

이 명령은 백그라운드로 이동합니다.

그러나 출력은 여전히 ​​콘솔에 있습니다(콘솔이 아직 열려 있는 경우).

명령 출력을 중지할 수 있나요?

Wget은 단지 예일 뿐입니다. 많은 출력을 작성하는 명령을 고려해 보세요.

콘솔에서 다음을 수행 bg한 다음 터미널을 닫고 다른 터미널을 열 수 있다는 것을 알고 있습니다. 하지만 사용 가능한 터미널이 하나만 있고 의사 터미널이 없다면 어떻게 될까요?

답변1

콘솔에 메시지를 출력하지 않고 wget(또는 다른 cmd)이 백그라운드에서 실행되기를 원한다는 뜻입니까? 이것이 문제라면 시도해 볼 수 있습니다redirection

$ wget http://file > /dev/null

위의 cmd는 로 리디렉션되며 오류 메시지를 제외한 어떤 메시지도 표시되지 않습니다 stdout. /dev/null오류 메시지도 보고 싶지 않다면 다음을 시도해 보세요.

$ wget http://file 1>/dev/null 2>&1

redirection자세한 내용은 구글링하시면 됩니다 .

답변2

실제로 명령 출력을 리디렉션하는 솔루션은 다음과 같습니다.하지만실행 중:https://superuser.com/questions/732503/redirect-stdout-stderr-of-a-Background-job-from-console-to-a-log-file

터미널을 사용하는 일상적인 시나리오에서 더 유용한 솔루션을 위해 wget -o log http://file & 백그라운드에서 실행하고 대신 터미널에 출력을 쓸 수 있습니다. 물론 이 경우 출력이 전혀 표시되지 않지만(포그라운드에서 실행하더라도) 출력이 커지는 것을 볼 수 있습니다.wgetlogwgettail -f log

관련 정보