반응형
1. 아래 파일을 만든다.
$ sudo vi /etc/init.d/safe_shutdown
#!/bin/sh
#
# cd /etc/init.d
# sudo vi safe_shutdown
#
# sudo chmod 755 safe_shutdown
#
case "$1" in
start)
eval "cd /home/user_id/bot/safe_shutdown/"
echo "Starting safe_shutdown....."
eval "./run_safe_shutdown.sh &"
;;
stop)
echo "safe_shutdown stopped..."
eval "pkill -9 -f safe_shutdown"
;;
*)
echo "Usage: /etc/init.d/safe_shutdown {start|stop}"
exit 1
;;
esac
exit 0
2. bot/safe_shutdown/폴더 밑에 아래의 파일을 만들었다.
$ vi run_safe_shutdown.sh
!/bin/sh -e
/usr/bin/python3 /home/user_id/bot/safe_shutdown/safe_shutdown.py
$ vi safe_shutdown.py
import Jetson.GPIO as GPIO
import time
import os
print("-----------------------------------------")
print(" Starting SafeShutdown Process")
print("-----------------------------------------")
pin = 23
GPIO.setmode(GPIO.BOARD)
GPIO.setup(pin, GPIO.IN)
time.sleep(60)
try:
while True:
if GPIO.input(pin) == True:
print("[!] safe shutdown button pressed...")
os.system("sudo shutdown now")
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
3. 잘 실행되는지를 시험해보자.
$ sudo ./safe_shutdown start
Starting safe_shutdown.....
-----------------------------------------
Starting SafeShutdown Process
-----------------------------------------
$ sudo ./safe_shutdown stop
safe_shutdown stopped...
Killed
4. 상시 실행되게 하는 것은 아래 명령으로..
$ sudo update-rc.d safe_shutdown defaults
이제 23번 핀으로 전원Off 기능이 작동되도록 하였다. 최초 부팅 후 60초 지난 시점 이후 부터 키입력을 검사하도록 한다.
반응형
'Jetson & 머신러닝' 카테고리의 다른 글
torch / vision 설치 on Jetson Xavier (yolo GPU학습용) (1) | 2024.07.01 |
---|---|
Jetson Xavier에서 부팅할 때, 자동 실행(데몬) (0) | 2024.07.01 |
jetson xavier 설치 절차 (0) | 2024.06.30 |
Jetson Xavier jtop 설치 (1) | 2024.06.30 |
jetson xavier에서 한글 설정하기(ibus, fcitx-hangul) (0) | 2024.06.30 |