gnome 또는 kde와 같은 윈도우 시스템 관련 터미널에서 응용 프로그램을 시작하면 일반적으로 이러한 응용 프로그램은 내 터미널에 모든 종류의 정크 메시지를 보냅니다. 이 앱을 닫으려면 어떻게 해야 하나요?
예를 들어, 다음을 입력하면:
okular somepdf.pdf &
PDF 파일을 표시하는 창이 나타나면 터미널 옆에서 PDF를 읽고 완료되면 닫을 수 있습니다.
전형적인 예는 다음과 같습니다.
:~$ cd Documents
:~/Documents$ okular equi.dvi &
[1] 5823
닫으면 다음 쓰레기가 터미널로 전송됩니다.
:~/Documents$ okular(5823)/kdeui (kdelibs) KXMLGUIClient::~KXMLGUIClient: 0x2322528 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes.
d
d: command not found
[1]+ Done okular equi.dvi
[1]+ Done okular equi.dvi
:~/Documents$
내가 보고 싶은 유일한 것은:
:~$ cd Documents
:~/Documents$ okular equi.dvi &
:~/Documents$
어쩌면 메시지가 버그일 수도 있습니다. 저는 상관하지도 않고 그것에 대해 알고 싶지도 않습니다.
이러한 메시지를 표시하지 않을 수 있나요?
어떤 사람들은 이 질문을 "출력을 억제하는 방법" 질문과 중복된 것으로 표시했지만 이는 제가 원하는 것의 일부일 뿐입니다.
나는 원해요자동으로특정 응용 프로그램의 모든 출력을 억제합니다. 예를 들어 okular는 그래픽 응용 프로그램이므로 내 터미널에서 말하는 내용은 전혀 신경 쓰지 않습니다.
위에서 말했듯이 나는 행동이 다음과 같기를 원합니다.
:~$ cd Documents
:~/Documents$ okular equi.dvi &
:~/Documents$
그리고아니요그것은 마치
:~$ cd Documents
:~/Documents$ okular equi.dvi > whatever &
:~/Documents$
답변1
STDOUT을 억제하려면 다음을 수행하십시오.
yourcommand 1>/dev/null
STDERR 억제
yourcommand 2>/dev/null
Bash 4부터는 다음 두 가지를 모두 억제할 수 있습니다.
yourcommand &>/dev/null
kdedebugdialog
도구를 사용하여 KDE의 디버깅 정보를 비활성화하고 선택한 모듈(또는 모든 디버그 출력)에 대한 출력을 비활성화 할 수도 있습니다 .
답변2
프로그램의 STDOUT 및 STDERR을 가상 장치로 보낼 수 있습니다 /dev/null
.
$ okular equi.dvi &> /dev/null &
작업 제어 메시지를 표시하지 않으려면 bash에서 watch 모드를 비활성화하면 됩니다(어쩌면 귀하의 모드에서도 가능 .bashrc
).
$ set +m
하지만 나는 이것을 권장하지 않습니다. 다시 활성화하려면 를 사용하세요 set -m
.
답변3
모든 텍스트를 숨기려면 다음 명령을 사용하십시오.
$> yourcommand >/dev/null &
stderr도 리디렉션하려면 다음을 수행할 수 있습니다.
$> yourcommand >/dev/null 2>&1 &
답변4
이것을 사용하십시오 :
okular equi.dvi > /dev/null 2>&1 &
그러면 모든 출력(오류 메시지 및 일반 출력)이 /dev/null
.