파이문

파이썬 백그라운드로 돌릴 때 로그 실시간 보기 본문

Python

파이썬 백그라운드로 돌릴 때 로그 실시간 보기

민Z 2016. 2. 13. 16:12
728x90

파이썬 프로그램을 백그라운드로 돌리는 방법은 다음과 같다.


$ python filename.py &


그러나 이 방법은 현재 창을 종료하면 terminate된다는 단점이 있다.

이를 위해 nohup 키워드를 사용할 수 있다.


$ nohup python filename.py &


해당 명령어를 입력하면 로그 파일로 nohup.out이라는 파일에 쌓이게 된다.

문제는 print 문으로 찍었던 내용이 바로 nohup.out에 쌓이는게 아니다. 


즉 시작해서 


$ tail -f nohup.out


명령어를 친다고 하더라도 바로 print문으로 했던 것이 화면에 나오는 것이 아니라는 것이다.

어느 정도 쌓였다가, 한 꺼번에 출력하곤 하는데 로그를 보고 싶다면 이는 옳은 방법이 아니다.


만약 print문을 바로 바로 보고 싶다면 파이썬의 자체에 가지고 있는 옵션이 있다.


$ nohup python -u filename.py &


위 명령어를 해 주고


$ tail -f nohup.out 


바로 print 문이 찍히는 것을 볼 수 있다.


리다이렉트 옵션을 써서 애초에 nohup.out이라는 파일 자체가 안나오게 할 수도 있고 파일 명도 바꿀 수 있지만

역시 가장 좋은 방법은 logging 모듈을 그냥 갖다 쓰는 것인 것 같다.



Comments