Skip to main content

建立一個服務

範例模板

[Unit]
Description=<Description>

[Service]
Type=oneshot
User=<user>
Group=<groups>
ExecStart=<command>

[Install]
WantedBy=multi-user.target

解說

[Unit] 區塊

  • Description : 描述服務,會顯示在 systemctl status 當中

[Service] 區塊

  • Type : 服務類型,常用有兩種
    • simple : 簡單服務,會根據程式結束的回傳值來判定服務是否正常運行
    • oneshot : 類似 simple,但是執行之後就不管回傳值的狀況,比較適用於執行之後馬上就離開主程式並背景執行的程式(e.g. tmux -d
  • User : 執行身份,不填寫的話預設是 root
  • Group : 執行群組,不填寫的話預設是 root
  • ExecStart : 服務開始時執行的指令,可以是一行指令,或是 shell script

 [Install] 區塊

  • WantedBy : 要在什麼樣的 Target 下才能用 systemctl enable 啟用服務