2019年9月13日金曜日

ラズパイ(Webサーバー・13)

前回までで、WIFI設定をWebサーバーから調整する仕組みができました。
今回は、できあがったWebページを自動起動させて、
いつでも設定が行えるように登録を行います。

ラズパイのラズビアンの環境において、
プログラムを自動起動する手段は、
いくつかあります。

■cron
  時間を決めてプログラムを毎回動かすような処理に向いています。

■rc.local
  ラズパイが起動時に、設定された処理を実行する。

■systemd
  プログラムをサービスとして登録し、起動・停止をできるようにする。

状況に応じて使い分ける必要があるのですが、
バックでずっと動かせる今回のようなものは、rc.local か systemd の
2択になります。
ただ、rc.local の場合ですと、別の同じようなpythonプログラムを
起動させて、さらにもう一つ動かす必要がある場合などは、
一つ目しか動かないので注意が必要です。
(※一つ目のプログラムで、専用してしまい。次のが動かないようです。)

ということで、systemd が今後も考えると最善となります。

サービスの設定は、
/etc/systemd/system/ に下記ファイル作成を作成して登録します。

サービスの名前のファイルを作成します。
wifi_menu.service というファイルを作成

            [Unit]
            Description = menu3 daemon
            
            [Service]
            ExecStart=/usr/bin/python3 /usr/local/bin/wifi_menu.py
            Restart = always
            Type = simple
            
            [Install]
            WantedBy = multi-user.target

あとは、自動起動するようにコマンドから登録を行います。

        sudo systemctl enable wifi_menu.service


■サービスの設定
  デーモン開始
    sudo systemctl enable wifi_menu.service
  デーモン停止
    sudo systemctl disable wifi_menu.service
  サービス開始
    sudo systemctl start wifi_menu.service
  サービス終了
    sudo systemctl stop wifi_menu.service
  状態の確認
    sudo systemctl status wifi_menu.service

https://www.filetalk.info/index.html

0 件のコメント:

コメントを投稿