앞서 wiringPi 라이브러리를 활용하여 라즈베리파이에서 실행할 수 있는 프로그램을 간단히 코딩해 보았는데 그렇다면 이렇게 개발한 프로그램을 부팅할 때 마다 자동으로 실행시켜 주려면 어떻게 해야할까? 이 문제는 의외로 코드 몇줄 추가하는 것 만으로 간단히 해결할 수 있다. 리눅스 환경에서는 프로그램을 자동으로 실행시켜 줄 수 있는 다양한 방법을 지원하므로 각기 알맞는 방법을 알아보고 사용해보자.
1. rc.local
자동실행 방법 중에 간단하면서도 효과적인 방법 중 하나로서 여기에 명령을 적어주게 되면 라즈베리파이가 부팅시에 자동으로 root 권한을 가지고 프로그램을 실행시켜준다. 주의해야할 점으로는 시스템과 관련된 명령을 입력할 경우에 rc.local의 실행이 더 빠르기 때문에 실행되지 않을 수 있으며 프로그램에 에러가 있는 상태에서 명령어 뒤에 & 문자를 입력하지 않을 경우에는 부팅이 완료되지 않을 수 있으므로 유의해야 한다.
$ sudo nano /etc/rc.local |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0” on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ “$_IP” ]; then
printf “My IP address is %sn” “$_IP”
fi
/home/pi/Desktop/Work/usbSerial &
exit 0
|
cs |
파일을 열면 다음과 같은 내용이 보일 것이다. 여기서 추가하고 싶은 명령어를 'fi' 와 'exit 0' 사이에 입력하면 된다. 앞서 언급했던것 처럼 rc.local은 root권한을 가지기때문에 sudo 나 su를 입력할 필요가 없다.(여기서 sudo가 쓰이는 경우는 다른 사용자로 프로그램을 실행시킬 경우에만 사용됨) 따라서 실행할 프로그램의 경로만 적어준 뒤에 &기호를 추가하면 자동실행 등록이 완료된다. &는 등록한 프로그램과 시스템 부팅이 별개의 프로세스로 진행되도록 분리해주는 역할을 한다.
'라즈베리파이' 카테고리의 다른 글
Installation of Raspberry PiCar-A Program with OpenCV FPV Function (0) | 2022.07.21 |
---|---|
2016. 04. 07 OCR on Rasberry Pi (Translation, 한글번역) (0) | 2022.05.24 |
step-by-step instructions for setting up AVS on a Raspberry Pi (0) | 2022.05.22 |
Five Ways To Run a Program On Your Raspberry Pi At Startup (0) | 2022.05.22 |
라즈베리파이 : Snowboy를 이용한 음성인식 전용 마이크 만들기 (0) | 2022.05.22 |
댓글