2023年7月30日日曜日

raspyでbottleを自動起動

これまで、raspi2ではcloud9を起動時にrc.localで実行していたけれど、ここでbottleを起動してもうまくいかなかった。(それで今までは、手動でbottleを起動していたので、停電やサーバを再起動すると、bottleがストップしていた。)chatGPTに聞いたら、rc.localは推奨されない方法とのこと。代わりに、systemdユニットを使ってサービスを作成して、システム起動時に実行するのが推奨される方法と教えてもらった。

sudo nano /etc/systemd/system/myscript.service

[Unit]
Description=My Python Script
After=network.target
[Service]
Type=simple
User=pi
WorkingDirectory=/home/pi/c9/ここはセキュリティ上カット/
ExecStart=/usr/bin/python3 hello.py
[Install]
WantedBy=multi-user.target

ユニットファイルの作成が終わったら、systemdにユニットファイルを再読み込みさせます。
sudo systemctl daemon-reload
ユニットを有効化し、システム起動時に自動実行するように設定します。
sudo systemctl enable myscript.service
Raspberry Piを再起動して、ユニットが正しく動作することを確認します。
sudo reboot

なお、スタート、リスタート、ストップは以下のコマンドのようです。
sudo systemctl start c9.service
sudo systemctl restart c9.service
sudo systemctl stop c9.service

0 件のコメント:

コメントを投稿