ラズパイ起動時にprogramを実行したい!!!
今回はsystemdを使用してシステム起動時にPythonProgramを実行してみようという企画です
(私が忘れないためにも)
それではやっていきましょう!!!
サービス用のファイルを作成:
/etc/systemd/system/ディレクトリに、サービスの設定ファイル(例: myscript.service)を作成します。
sudo nano /etc/systemd/system/myscript.service
以下は、myscript.serviceの内容の例です。パスやスクリプト名は実際のものに合わせて変更してください。
[Unit]
Description=My Script Service
After=network.target
[Service]
ExecStart=/usr/bin/python3 /home/admin/Library_Tool_Ver3/main.py
WorkingDirectory=/home/admin/Library_Tool_Ver3/
Restart=always
User=admin
[Install]
WantedBy=multi-user.target
- ExecStart: 実行されるコマンド。Pythonのパスとスクリプトのパスを正しく指定してください。
- WorkingDirectory: スクリプトの作業ディレクトリ。スクリプトが依存するファイルがあるディレクトリを指定します。
- User: サービスを実行するユーザー。ホームディレクトリのパーミッションに注意してください。
systemdにサービスを登録:
- enable: サービスを有効にします。これにより、システム起動時に自動的にサービスが開始されます。
sudo systemctl enable myscript.service
- start: サービスを手動で開始します。
sudo systemctl start myscript.service
サービスの状態を確認:
- サービスの状態やエラーメッセージが表示されます。問題があればそれを解決してください。
sudo systemctl status myscript.service
ログの確認:
- サービスがエラーなく起動しているか確認するために、ログを確認します。
journalctl -u myscript.service
まとめ
いかがでしょうか?これで、systemdを使用してPythonスクリプトを実行するサービスが設定され、起動するはずです.
他にもlinuxでは起動時に実行する方法が複数種類あるようなので、ぜひ調べてみてくださいね!