Liunx 開機自啟程序設置[systemd]

(這里以Java程序為例,其他同理)

步驟 1:編寫 systemd 服務文件

  1. 創(chuàng)建服務文件:
    使用文本編輯器(如 vimnano)創(chuàng)建服務文件。例如,假設你的 Java 程序是 myapp.jar,可以創(chuàng)建一個名為 myapp.service 的文件:
sudo vim /etc/systemd/system/myapp.service
  1. 添加服務配置:
    myapp.service 文件中添加以下內容,替換路徑和參數(shù)為你實際的 Java 程序路徑和配置:
[Unit]
Description=My Java Application
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/java -jar /path/to/your/myapp.jar
# 服務失敗時自動重啟,這里kill掉程序將不斷自啟,若不需要可以設置為no
Restart=always
User=root
Group=root
WorkingDirectory=/path/to/your/
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk"
StandardOutput=journal
StandardError=journal
# 若需要,可將日志從默認journal輸出到對應的文件[file/append]
# StandardOutput=append:/root/service.log
# StandardError=append:/root/service.log

[Install]
WantedBy=multi-user.target

說明:

  • Description:服務的描述。
  • After:確保服務在網(wǎng)絡啟動后運行。
  • ExecStart:啟動命令,指定 Java 路徑和 jar 文件路徑。
  • Restart:設置服務失敗時自動重啟。
  • UserGroup:指定運行服務的用戶和組,建議使用非 root 用戶。
  • WorkingDirectory:指定工作目錄(jar 文件所在目錄)。
  • Environment:設置環(huán)境變量(可選,根據(jù)你的 Java 安裝路徑設置Java環(huán)境變量)。
  • StandardOutputStandardError:將輸出和錯誤日志記錄到 systemd 的 journal 中。

步驟 2:設置文件權限

確保服務文件具有正確權限:

sudo chmod 644 /etc/systemd/system/myapp.service

步驟 3:重新加載 systemd 配置

讓 systemd 識別新創(chuàng)建的服務文件:

sudo systemctl daemon-reload

步驟 4:啟用開機自啟動

啟用服務以便在系統(tǒng)啟動時自動運行:

sudo systemctl enable myapp.service

步驟 5:啟動服務

立即啟動服務以測試:

sudo systemctl start myapp.service

步驟 6:檢查服務狀態(tài)

確認服務是否正常運行:

sudo systemctl status myapp.service

步驟 7:查看日志

如果需要調試,可以查看服務的日志:

sudo journalctl -u myapp.service
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容