Pythonでデーモンを作ったので、その手順のメモ
確認環境
| Env | Ver |
|---|---|
| OS | 2020-05-27-raspios-buster-arm64 |
| Python | 3.7.3 |
| python3-systemd | 234-2+b1 |
やったこと
- python-systemdのインストール
sudo apt-get install python-systemd python3-systemd
~/foo.pyを以下の内容で作成from systemd import journal journal.send('Hello world') journal.send('Hello, again, world', FIELD2='Greetings!', FIELD3='Guten tag') journal.send('Binary message', BINARY=b'\xde\xad\xbe\xef')- 実行権限を付与する
chmod 755 ~/foo.py
systemdの定義ファイルを次の要領で作成
sudo nano /etc/systemd/system/foo.serviceとして以下の内容を書く
[Unit] Description = Foo [Service] ExecStart = python3 /home/pi/foo.py Restart = always Type = simple [Install] WantedBy = multi-user.target- デーモンを有効化する
sudo systemctl enable foo.service
- デーモンを開始する
sudo systemctl start foo.service
- ジャーナルを見る
systemctl status roomenv.service
- なんかログが出てれば成功
ExecStartにsudoを書くと動かない(root権限で動作する模様)