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権限で動作する模様)