起動時にPythonファイルを実行

起動時にファイルを実行するときはsystemctlを使います。 まず、/etc/systemd/system/にユニット定義ファイルを作ります。今回はHOGEという名前の定義ファイルを作りました。

sudo vim /etc/systemd/system/HOGE.service

HOGE.serviceに下の設定を書き込みます。

[Unit]
Description=HOGE
After=network.target

[Service]
ExecStart=/usr/bin/python3 HOGE.py
WorkingDirectory=/put/your/directry
StandardOutput=inherit
StandardError=inherit
Restart=always
User=HOGE

[Install]
WantedBy=multi-user.target

HOGE.serviceに書き込んだら、systemctl startコマンドで ExecStartで指定したスクリプトが実行されるか確かめます。 実行されたのを確認したらsystemctl stopコマンドで止めます。

sudo systemctl start HOGE.service
sudo systemctl stop HOGE.service

実行されることを確認したらsystemctl enableコマンドを使って、起動時にスクリプトが実行されるように設定します。

sudo systemctl enable HOGE.service