반응형
반응형
#Ubuntu 20.04
#python
컴퓨터 또는 서버(보드) 등 부팅 시 자동으로 프로그램이 실행되도록 환경을 구성하는 방법에 대해 알아보겠습니다.
주로 라즈베리파이에 프로그램을 등록시켜 부팅 시 자동으로 프로그램을 실행할 때 사용하는 방법입니다.
전체흐름 : service 파일 생성 -> service 등록
1. service 파일 생성
- 편집기 등으로 service 파일을 생성함
nano [프로그램명].service
- 아래의 내용을 프로그램에 맞게 수정해주면 됨
[Unit]
Description=Test Program
After=network.target
[Service]
ExecStart=/usr/bin/python3 -u test.py
WorkingDirectory=/home/test_project
StandardOutput=inherit
StandardError=inherit
Restart=always
User=root
[Install]
WantedBy=multi-user.target
<수정이 필요한 부분>
- Description : 프로그램 설명(아무렇게나 입력 가능)
- ExecStart : 파이썬 인터프리터 위치 및 파이썬 명령어로 실행
- WorkingDirectory : 실행파일 위치
- User : 사용자 이름
2. service 파일 등록(이동)
- root 권한으로 복사해주면 됨
sudo cp [프로그램명].service /etc/systemd/system
3. service 등록
- 흐름 : enable -> start 후 상태 확인(status)
sudo systemctl enable [프로그램명].service
- enable을 통해 서비스를 등록
sudo systemctl start [프로그램명].service
- start을 통해 등록된 서비스를 실행
4. service 삭제
- 흐름 : stop->disable
sudo systemctl stop [프로그램명].service
- stop을 통해 서비스 중단
sudo systemctl disable [프로그램명].service
- disable을 통해 등록된 서비스 제거
완료하셨으면 재부팅 후 status 명령어로 확인해보시거나 프로세스 확인해보시면 됩니다.
sudo systemctl status [프로그램명].service
또는
ps -ef | grep [프로그램명]
질문 또는 수정할 부분 있으면 말씀해주세요, 감사합니다.
반응형
'programming > python' 카테고리의 다른 글
(pandas)판다스 데이터프레임 기본조작(삽입, 삭제, 조회 등) (0) | 2022.11.17 |
---|---|
(Jupyter notebook)파이참 주피터 원격 설정 방법 (0) | 2022.11.16 |
(Jupyter notebook)주피터 노트북 세팅(원격 연결, 오류(500error) 등) (0) | 2022.11.11 |
(파이썬)백그라운드 실행(jupyter notebook, python 등) (0) | 2022.11.11 |
(pandas)파이썬 시간 데이터 보간(누락 데이터) (0) | 2022.10.27 |