Ubuntu

在 ubuntu 中創建一個可以啟動/停止的 systemd 服務

  • July 25, 2022

我已經建構了一個以可執行格式發布的伺服器,我想將其註冊為可以啟動/停止/重新啟動的服務。

我已閱讀以下問題和許多其他類似的問題 >如何使執行檔作為服務執行?

我的問題是我希望 systemctl 停止可執行程序,如果我執行sudo systemctl stop myexecutableservice.

在我目前的情況下,如果我停止服務,後台程序仍在執行,我的伺服器仍在接受請求。

這是最簡單情況的答案。

您需要做的就是創建/etc/systemd/system/myservice.service. 這是一個帶有[Service]節的 INI 文件。

一個非常簡單的服務如下所示:

[Service]
ExecStart=/usr/bin/myapp arg1 arg2

只需確保此服務存在,然後sudo systemctl start myservicesudo systemctl stop myservice

您可以在本Service節中執行許多其他操作,例如定義使用者、工作目錄、環境變數、如何管理分叉程序、如何停止程序、優先級等。有關 systemd.service(5)本節如何工作的詳細資訊,請參閱。

您還可以添加一個[Unit]部分,該部分可用於定義Description=將出現在日誌中的部分,並可以定義與其他單元的關係。見 systemd.unit(5)

[Install]也可以聲明一個節。這將讓您定義使用時會發生什麼systemctl enable myservice。見 systemd.unit(5)

引用自:https://unix.stackexchange.com/questions/711050