実現したいこと
- Raspbrry Pi OSでsystemdを使い、プログラムを定期実行したい
- プログラムは、seleniumやchrome driverを使用して、定期的にサイトを確認するものです。
前提
こちらのサイトを参考に、Raspbrry Pi OSでプログラムを定期実行させようとしました。
お手本と異なる点
以下の通りで、それに合わせてコードも変えています。
- Pythonファイルの場所が
/home/自分の名前/ドキュメント/ファイル名.pi
-
サービスファイルとタイマーファイルの名前もそれぞれ「ファイル名.service」「ファイル名.timer」にしてあります。
-
実行させるプログラムの内容(先述した通りです)
該当のソースコード
サービスファイルを作成するときは
sudo nano /etc/systemd/system/ファイル名.service
内容は
[Unit] Description=省略 After=network.target [Service] ExecStart=/usr/bin/python3 ファイル名.py WorkingDirectory=/home/自分の名前/ドキュメント/ファイル名.pi
タイマーファイルも
sudo nano /etc/systemd/system/ファイル名.timer
にしています。
発生している問題・エラーメッセージ
1分毎にプログラムを動かすように設定したのですが、
systemctl status ファイル名.service
で状態確認をしたところ、
ModuleNotFoundError: No module named 'selenium'
というエラーが出ました。
しかし、Thornyでそのプログラムを実行しようと「Run」ボタンを押した時は普通に実行できています。
試したこと
別のサイトも見て、その方法でも試したのですが、サービスファイルを作る際に
[Service] /home/自分の名前/ドキュメント/ファイル名.pi
にするとプログラムを実行する以前のところで
sudo systemctl start ファイル名
を実行すると
Failed to start ファイル名.service: Unit ファイル名.service not found.
というエラーが出てしまっています。そのため、最初に示した方法で行っています。
補足情報(FW/ツールのバージョンなど)
環境は以下の通りです。
Linux raspberrypi 5.15.84-v8+ #1613 SMP PREEMPT Thu Jan 5 12:03:08 GMT 2023 aarch64 GNU/Linux
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。