Almost-Native

리눅스 nohup: redirecting stderr to stdout 경고메시지 제거방법 본문

Java 프로그램 개발, IT

리눅스 nohup: redirecting stderr to stdout 경고메시지 제거방법

2022. 6. 21. 19:00

리눅스에서 nohup 백그라운드 작업 실행을 할때, 매번 아래와 같은 경고 메시지가 나오는 경우가 있습니다.

실행이 안되는 것은 아니고, ps -ef 커맨드로 확인해보면 실제로 실행은 됩니다. 다만 경고 메시지가 거슬릴뿐....

 

nohup python3.9 oracle2.py > aa.log  &
[1] 91220
nohup: ignoring input and redirecting stderr to stdout
$

 

위는 커맨드는 실행결과를 aa.log 파일에 기록하라는 의미입니다.

위 커맨드에서 >aa.log 는 1>aa.log 와 같습니다. 1은 표준출력(stdout)을 의미합니다.

 

그럼, 에러나는 경우는 어디로???   이런 이유로 해서 에러가나는 경우 표준에러(stderr)을 표준출력(stdout)으로 알아서 쏘겠다는 알림메시지 입니다.

 

이 메시지를 깔끔하게 없애주고 싶으면, 아래와 같이 고쳐주면 해결됩니다.

 

$ nohup python3.9 oracle2.py 1>aa.log 2>&1  &
[2] 91253
$

 

2 는 표준에러를 의미하고 이것을 &1 으로 쏴라~  &1 은 표준출력 되겠습니다.

결국, 표준출력, 표준에러 모두 aa.log 파일에 기록되게 됩니다.

 

위 첫번째 예시와 두번째 예시가 경고메시지만 나오고 안나오고 차이일뿐 실행은 둘다 잘 됩니다.

 

Comments