참고
TCP 1024 포트 이하는 root에서만 바인딩(Binding)이 가능하다.
데몬 프로세스
•
백그라운드에서 실행되는 프로그램으로 메모리에 상주하면서 특정 요청이 오면 작동하는 프로세스
•
백그라운드 프로세스 중 PPID가 1이나 다른 데몬 프로세스인 경우에 이를 데몬 프로세스라고 한다.
sudo vim /etc/systemd/system/<servicename>.service
Shell
복사
[Unit]
Description=My Flask App
[Service]
User=ec2-user
WorkingDirectory=/home/ec2-user
ExecStart=/usr/bin/python3 /home/ec2-user/app.py
Restart=always
[Install]
WantedBy=multi-user.target
Markdown
복사
systemctl daemon-reload
systemctl start myapp.service
systemctl status myapp.service
systemctl enable myapp.service
Shell
복사
nohup 명령어
•
nohup은 no hang up 의 약자로 현재 사용자 세션이 아닌 운영체제가 제공하는 백그라운드 공간에서 실행
•
nohup은 프로그램을 데몬의 형태로 실행한다.
•
터미널이나 세션이 종료되어도 백그라운드에서 프로세스가 계속 돌아간다.
◦
종료하기 위해서는 pid를 찾아 kill 해줘야한다.
•
쉘 파일을 nohup으로 실행 시 해당 쉘 파일의 권한은 최소 755 상태여야한다.
기본 명령어
nohup {쉘 파일} &
Shell
복사
nohup.out 파일 지우기
nohup {쉘 파일} 1> /dev/null 2>&1 &
Shell
복사
모든 표준 출력과 에러를 특정 로그 파일로 관리하는 법
nohup {쉘 파일} >> {로그 파일} 2>&1 &
Shell
복사
표준 출력과 표준 에러를 별도로 관리하는 법
nohup {쉘 파일} 1> {정상 로그 파일} 2> {에러 로그 파일} &
Shell
복사

