:: linux
linux :: 파이썬 스크립트 백그라운드 실행 및 nohup.out 파일 로그 남지 않을 때 해결
토람이
2023. 9. 26. 10:26
1. 파이썬 프로그램 백그라운드로 실행하기
리눅스 서버에서 파이썬 프로그램을 백그라운드로 실행할 때,
다음 커맨드로 실행하면 된다.
nohup python toramko.py &
'&'은 백그라운드로 실행하라는 의미이고,
'nohup'은 세션이 끊어지더라도 프로세스가 끊어지지 않고 동작하게 하는 명령어이다.
그래서 보통 nohup 과 & 을 함께 입력한다.
프로세스가 백그라운드로 실행되면 실행이 잘 되는지 터미널 사용자가 (로그) 확인하기가 어렵기 때문에
위와 같이 입력할 경우 자동으로 로그 파일을 남겨주는데,
실행 위치에서 nohup.out 파일로 남게 된다.
2. nohup.out 에 로그가 남지 않을 때
만약 실행 후, nohup.out 파일 생성은 되었으나 로그가 남지 않는다면
스크립트 내에 로깅 코드가 누락되진 않았는지 확인하는 게 물론 우선이고,
로깅 코드가 있는데도 로그가 남지 않는 상황이라면
다음과 같이 -u 옵션을 추가한다.
nohup python -u toramko.py &
(-u 옵션은 파이썬 스크립트 실행 시 실시간으로 로그를 확인하는 옵션이다.)
옵션 추가 후 정상적으로 로그 쌓이는 것 확인!
300x250