Linuxラーニング--起動後のプログラムの自己起動テスト


第一歩テストスクリプト作成


まず、自己起動が有効かどうかをテストするスクリプトを作成する必要があります.端末の下に新しいスクリプトファイルを入力して車に戻ります.sh
$ nano testboot.sh

私たちが実行するコードを書いてください.たとえば、テストするプログラムはconstant_です.current.py
#!/bin/sh
cd /home/pi/Desktop/

sudo python LD_current/constant_current.py

スクリプト・ファイルに実行権限を追加するには、次の手順に従います.
$ chmod 777 testboot.sh

コマンドchmod 777 ttを使用すると.htmでは、結果として誰もが読み取り、書き込み、実行の3つの権限を持っています.これで権限の問題を心配する必要はありません.

第2ステップ自己起動を実現


方法1:rc.localファイル起動コードの追加


rcを変更します.localファイル、端末で入力して車に戻る:
$ sudo nano /etc/rc.local

開いているテキストにexit 0が見つかり、それ以前に追加されたコードは起動時に実行され、exit 0の前にコードを追加します.
su pi -c "exec /home/pi/testboot.sh"

ctrl+oは保存され、ctrl+xは終了し、端末にsudo rebootと入力し、システムテストを再起動します.
suコマンドはpiユーザの下でこのコマンドを実行することを指定し、-cはこのコマンドを実行した後に元のユーザに戻ることを示す.注意:システムの起動時にこのコードを実行するときにrootユーザー権限が使用されます.piユーザーを指定しないと、権限の問題でスクリプトの実行に失敗する可能性があります.

方法2:プログラムをサービスとして起動する


/etc/init.d/ディレクトリの下にサービススクリプトファイルを新規作成します.端末に入力して車に戻る
$ sudo nano /etc/init.d/testboot

空白のファイルに次の内容を入力します.
#!/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

ctrl+oは保存され、ctrl+xは終了します.
スクリプト実行権限の設定:
$ sudo chmod 777 /etc/init.d/testboot

最後に、このスクリプトをサービス設定として起動して自動的にロードします.
$ sudo update-rc.d testboot defaults