4、ベリーパイでプログラムを自己起動に設定する
1862 ワード
テストスクリプトの作成
pi
ユーザの下にテストフォルダを作成する:mkdir test0226
cd test0226
、sh
スクリプトファイルを作成し、以下の内容をスクリプトに書き、パスが正しいかどうかを注意します.#!/bin/sh
touch /home/pi/test0226/testboot.txt
chmod 777 /home/pi/test0226/testboot.txt
echo "hello pi~" >> /home/pi/test0226/testboot.txt
chmod 777 testboot.sh
./testboot.sh
向rclocalファイル起動コードの追加
su p -c "exec /home/pi/test0226/testboot.sh"
su
コマンドは、pi
ユーザの下でこのコマンドを実行することを指定し、-c
は、このコマンドを実行した後に元のユーザに戻ることを示す.注意:システムの起動時にこのコードを実行する際には
root
のユーザ権限が使用する、pi
のユーザを指定しないと、権限の問題でスクリプトの実行に失敗する可能性がある.プログラムをサービスとして起動
/etc/init.d/ディレクトリの下にサービススクリプトファイルを新規作成します.スクリプトファイルの内容を編集するには、次の手順に従います.
#!/bin/sh
#/etc/init.d/testboot
### BEGIN INIT INFO
# Provides:testboot
# Required-Start:$remote_fs $syslog
# Required-Stop:$remote_fs $syslog
# Default-Start:2 3 4 5
# Default-Stop:0 1 6
# Short-Description: testboot
# Description: This service is used to start my applaction
### END INIT INFO
case "$1" in
start)
echo "start your app here."
su pi -c "exec ~/testboot.sh"
;;
stop)
echo "stop your app here."
;;
*)
echo "Usage: service testboot start|stop"
exit 1
;;
esac
exit 0
保存終了、設定スクリプト実行可能権限:
sudo chmod 777 /etc/init.d/testboot
.サービスとして起動自動ロード:sudo update-rc.d testboot defaults
に設定.テストを再起動します.