programming/python

(Ubuntu) 부팅 시 프로그램 자동 실행 설정

limmmmm 2022. 11. 14. 14:27
반응형
반응형

#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 [프로그램명]

 

질문 또는 수정할 부분 있으면 말씀해주세요, 감사합니다.

반응형