서비스 생성은 2가지만 하면 된다.
1. /etc/systemd/system 아래 아래와 같은 내용으로 파일을 생성함.
파일 이름은 : 서비스_이름.service 로 하면 보기 좋다.
Unit]
Description=discription! # 여기에 서비스에 대한 설명
[Service]
PIDFile=/run/service_name.pid #service_name 쓰세요.
User=user # user id 로 변경
ExecStart=/home/user/anaconda3/envs/flask/bin/python /home/user/workspace/flask_web.py
WorkingDirectory=/home/user/workspace/
# Restart=on-failure # 실패 시 재시작을 자동으로 하려면 주석을 해제
[Install]
WantedBy=multi-user.target
주석에 맞게 수정한 뒤 파일을 서비스 이름으로 생성하면 된다.
ExecStart 는 실행을 위한 command를 그대로 쓰면 된다.
나는 anaconda로 가상 환경을 이용하여 파이썬 파일을 실행하였다.
2. 데몬 등록 후 실행
위에서 파일을 생성하였으면 아래를 실행해준다.
서비스_이름은 위해서 생성한 것으로 하면된다.
sudo systemctl daemon-reload
sudo systemctl enable 서비스_이름.service
sudo systemctl start 서비스_이름.service
잘 실행되었는지는 아래 명령어...
sudo systemctl status 서비스_이름.service
이외 쓸만한 명령어는 아래와 같다.
# 서비스 재시작
sudo systemctl restart 서비스_이름.service
# 서비스 로그 보기
sudo journalctl -u 서비스_이름
# 에러 로그 보기
sudo journalctl -xe
# 부팅 로그
sudo journalctl -b
# 오늘 로그 또는 특정 시간
sudo journalctl --since=today
sudo journalctl --since "1 hour ago"
sudo journalctl --disk-usage
jupyter 도 동일하다. 나중에 내 기억을 위해서 남겨 둔다.
user@user-ubuntu:/etc/systemd/system$ cat jupyter.service
[Unit]
Description=Run Jupyter Lab
[Service]
Type=test
PIDFile=/run/jupyter.pid
User=user
ExecStart=/home/user/anaconda3/envs/my_test/bin/jupyter lab --notebook-dir=/home/user/workspace
WorkingDirectory=/home/user/workspace
[Install]
WantedBy=multi-user.target
'What I Do > 자주 찾는 내용' 카테고리의 다른 글
iOS / 맥북 / 맥 / 아이폰 / 붙여넣기 팝업이 계속 나온다면... (1) | 2022.11.15 |
---|---|
python 실행 후 shell 종료 시키지 않고 계속 사용하기 (0) | 2022.11.09 |
rsa key를 사용할때 마다 계속 비번을 물어보는 것 없애기 (0) | 2022.11.07 |
vscode 에서 서버 접속할 때 마다 Enter password for .. 이런다. (0) | 2022.11.07 |
regular expression 으로 포함하고 포함하지 않는 것 찾기 (0) | 2022.11.07 |