본문 바로가기

Programming/Server & Linux

리눅스에서 백그라운드(&)를 Done 없이 깔끔하게 실행하기

리눅스에서 '&' 명령어를 사용하여 작업을 백그라운드에서 시작하면, 아래와 같이 PID와 작업이 완료되었을 때의 + Done 메시지가 뿌려진다. 하지만 필요없는 경우도 있다.

WSL2를 사용하면서, curl로 wttr.in의 날씨정보를 터미널에 뿌리고 있는데, 이를 백그라운드로 실행하자, 날씨정보 앞뒤로 저 메시지가 뜨게 됐었다. 처음에는 output을 /dev/null로 보내는 글만 있었는데, 당연하지만 날씨 정보만 보고 싶은거지, 모든 output을 버리고 싶었던건 아니었다. 

 

서론이 길었다. 답은 명령을 괄호로 감싸는 것이다. 괄호로 감싸게 되면 subshell에서 실행되기 때문에 위 두 메시지가 보이지 않는다고 한다.

예) (curl wttr.in &) 

 

참고자료 : https://stackoverflow.com/questions/11097761/is-there-a-way-to-make-bash-job-control-quiet 

 

Is there a way to make bash job control quiet?

Bash is quite verbose when running jobs in the background: $ echo toto& toto [1] 15922 [1]+ Done echo toto Since I'm trying to run jobs in parallel and use the output, I'd...

stackoverflow.com

반응형