:: 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