Discover more
下(xià)面的(de)教程将介紹如何将命令或程序配置爲開機啓動時(shí)自動運行的(de)服務。完成配置之後,就可(kě)以通(tōng)過 Linux 命令行來(lái)「啓動/停止/禁用(yòng)」這(zhè)個(gè)服務了(le)。
在樹莓派上創建一個(gè) .service 文件。例如:
myscript.service
[Unit] Description=My service After=network.target [Service] ExecStart=/usr/bin/python3 -u main.py WorkingDirectory=/home/pi/myscript StandardOutput=inherit StandardError=inherit Restart=always User=pi [Install] WantedBy=multi-user.target
在上面的(de)範例中,服務會去以 Python 3 來(lái)運行 /home/pi/myscript 目錄下(xià)面的(de) main.py 腳本。用(yòng)這(zhè)種方法,你不僅可(kě)以配置 Python 腳本,隻需要将 ExecStart 這(zhè)行改爲需要啓動的(de)任何程序或腳本即可(kě)。
将這(zhè)個(gè)文件用(yòng) root 用(yòng)戶保存到 /etc/systemd/system 目錄:
sudo cp myscript.service /etc/systemd/system/myscript.service
然後就可(kě)以用(yòng)下(xià)面的(de)命令嘗試啓動服務了(le):
sudo systemctl start myscript.service
停止服務:
sudo systemctl stop myscript.service
設置開機時(shí)自動運行:
sudo systemctl enable myscript.service
systemctl
命令還(hái)可(kě)以用(yòng)來(lái)重啓或禁用(yòng)它。
注意事項:
1、啓動順序取決于他(tā)們的(de)依賴關系。如果是依賴于網絡的(de)服務,應當在引導過程中盡可(kě)能晚一點啓動。
使用(yòng) man systemctl
命令或訪問 https://fedoramagazine.org/what-is-an-init-system/ 了(le)解更多(duō)。