본문 바로가기
기타

nohup으로 Flask 백그라운드 실행하기

by imsoncod 2022. 3. 23.

명령어

(Ubuntu) 터미널 세션이 종료되어도 Flask서버 프로그램 실행이 백그라운드에서 유지되도록 해보겠습니다.

nohup python -u train.py & 

nohup 은 터미널 세션이 종료되어도 실행을 멈추지 않도록 도와주는 역할을 합니다.

-u 옵셥은 nohup.out 파일을 통해 서버의 실행 결과, 즉 Log를 확인할 수 있게 해줍니다.
& 옵션은 프로그램을 백그라운드로 실행시켜줍니다.

nohup과 별도로 사용할 수 있지만 함께 사용해야 터미널 세션이 끊어져도 프로그램이 유지됩니다.

Log 확인

using cached model using cached model using cached model  훈련중... 
[Epoch 1 Batch 64/1606] loss=1.2965, lr=0.0000003924, train ppl=3.657 훈련중...
[Epoch 1 Batch 128/1606] loss=1.2746, lr=0.0000007911, train ppl=3.577 훈련중... 
[Epoch 1 Batch 192/1606] loss=1.2547, lr=0.0000011897, train ppl=3.507 훈련중... 
[Epoch 1 Batch 256/1606] loss=1.2715, lr=0.0000015884, train ppl=3.566 훈련중... 
[Epoch 1 Batch 320/1606] loss=1.2440, lr=0.0000019870, train ppl=3.469 훈련중... 
[Epoch 1 Batch 384/1606] loss=1.2215, lr=0.0000023857, train ppl=3.392 훈련중... 
[Epoch 1 Batch 448/1606] loss=1.2098, lr=0.0000027844, train ppl=3.353 훈련중... 
[Epoch 1 Batch 512/1606] loss=1.1792, lr=0.0000031830, train ppl=3.252 훈련중... 
[Epoch 1 Batch 576/1606] loss=1.1632, lr=0.0000035817, train ppl=3.200 

딥러닝 모델 학습을 Flask로 실행하고 nohup.out 을 확인한 결과입니다.

종료하기

ps -ef 

위 명령을 통해 Ubuntu에서 실행중인 모든 프로세스의 정보를 아래처럼 자세하게 볼 수 있습니다.

UID      PID   PPID    C   STIME   TTY     TIME   CMD 
root     2345     2    0   06:32   ?   00:00:00   [UVM Tools Event] 
root     2472     2    0   06:55   ?   00:00:01   [kworker/0:2-eve] 
root     2770     2    0   07:57   ?   00:00:00   [kworker/1:0-eve] 
root     3027     2    0   08:39   ?   00:00:00   [kworker/1:2] 
root     3113     2    0   08:39   ?   00:00:00   [kworker/0:0] 
ubuntu   3114  3114   99   08:39   ?   07:32:13   python -u train.py 

Flask 프로세스가 3114번 PID를 갖고 있네요, 종료시켜 보겠습니다.

kill 3114 

성공적으로 종료되었습니다.

반응형

'기타' 카테고리의 다른 글

로컬 캐시(Local Cache)에서 글로벌 캐시(Global Cache)로  (0) 2023.06.04
Github Action이란?  (0) 2021.03.07
Bastion Host란?  (0) 2021.02.04
MSA(Microservice Architecture)란?  (0) 2021.02.01
API(Application Programming Interface)란?  (0) 2021.01.25

댓글