RaspberryPiでせっかく作ったプログラム、毎回コマンドやマウスで動かしてたらキリがない。
まして、電源入れたらひとりでに起動する組み込みで使用したい。自動化どうするんだっけ・・・
こんにちは、北神です。
RaspberryPiで、プログラムを自動起動する方法です。
古きLinuxユーザーの方は、init.dを想像するかもしれませんが、
今ではsystemdという仕組みが物凄く簡単ですので、ぜひsystemdを活用してみてください。
ます、systemdで起動する内容を設定する .serviceというファイルを作成します。
主にテキストのファイルですので、nanoやviで書き込みます。
[Unit] Description= Custom Service [Service] Type=simple ExecStart=/usr/bin/python3 /home/pi/service.py [Install] WantedBy=multi-user.target
Sytemdでは、service記述によりたくさんのオプションがあり、細かく設定する事ができます。
上記では、/home/piに保存したservice.pyをPython3で起動する単純な物です。
このファイルを、以下のコマンドでディレクトリにコピーします。
仮に hello.service としましょう。
sudo cp hello.service /etc/systemd/system/ sudo systemctl daemon-reload
これで、Systemdが読みに行けるファイルになりました。
実際に、起動を開始するには
sudo systemctl start hello.service
終了する際は
sudo systemctl stop hello.service
で行うだけです。
また、状態の確認は
sudo systemctl status hello.service
で行えます。
簡単ですね。
最後に、自動起動を設定する際は、
sudo systemctl enable hello.service
で行い、逆に自動起動を停止する際は
sudo systemctl disable hello.service
で行えます。
非常に簡単ですので、覚えておいて損はないでしょう。
ではでは。