보통 특정 프로그램이 터미널을 닫고 나서도 백그라운드에서 돌아가게 하고 싶으면 nohup과 &를 조합해서 쓰곤 하는데, 가끔 stdout/stderr 메시지들이 로그 파일에 제대로 저장되지 않는 경우가 있다.

원인을 좀 찾아보니 프로그램 혹은 언어 단에서 표준출력에 대해 flush를 하지 않으면 그렇게 된다고 하는데…

출처: https://stackoverflow.com/a/60503317/4183595

이렇게 stdbuf를 섞어서 실행하면 로그파일에 정상적으로 stdout과 stderr 메시지들이 저장된다.

빈 텍스트 파일에 저 명령어를 복붙하고 .sh 확장자로 저장한 다음에 chmod +x로 실행권한을 주면 쉽게 실행할 수 있는 쉘 파일을 만들 수 있으니 참고하세용~

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.