systemctl start/stop service:如何在 Ubuntu、CentOS、Redhat Linux 中設置 Upstart 腳本和 Respawn 進程

已發表: 2021-06-09

Linux systemd upstart - upstart 腳本

如何為systemd編寫啟動腳本?

systemd是所有最新版本的 Linux 發行版(如 Ubuntu OS、Redhat OS、CentOS)中最新的service management utility

這就是為什麼 Ubuntu 17.4 和 Redhat 7.4 版本現在支持systemctl command作為 upstart 腳本。 如果您使用的是舊版本的 Linux 操作系統,那麼您可能需要查看此頁面底部以查看舊的init.d script

我們將在本教程中討論以下內容

  • 設置 systemd 服務單元
  • 如何configure systemd?
  • 如何enable它systemd?
  • 如何使用 systemd 自動啟動進程?
  • 如何使用 systemd 停止和respawn進程?

本教程的設置步驟:

Prerequisite:我們已經在/tmp/crunchify文件夾中編譯了 CrunchifyAlwaysRunningProgram.java 程序版本。 這個java進程將永遠在後台運行。 你可以從這裡下載程序。

一旦你下載它然後try to compile它並運行它以確保它工作。

您可以鍵入CTRL + C退出程序。

現在讓我們開始為上述程序設置 systemd 自動啟動腳本。

第1步

  • 轉到文件夾/lib/systemd/system
  • 鍵入cd /lib/systemd/system

第2步

  • 創建文件crunchify.service (相應地更改文件名)
  • 將以下內容放入其中

第三步

  • 保存存檔
  • 使用chmod 755 crunchify.service提供執行權限

第四步

  • 使用命令systemctl daemon-reload加載 crunchify.service
  • 使用命令systemctl enable crunchify.service
  • 使用命令systemctl start crunchify
  • 使用命令systemctl status crunchify的狀態

第 5 步

  • 現在檢查進程是否正在運行?
  • 鍵入命令ps -few | grep java ps -few | grep java查看所有正在運行的 Java 進程
  • 你應該看到這樣的東西

這意味著進程28631正在開始使用您的新貴腳本。 您可能有不同的進程 ID。

如何驗證您的 systemd crunchify.service 是否正常工作?

  • 嘗試使用kill -9 28631殺死進程,您應該會看到應該自動創建新進程。
  • 在我的情況下,創建了新的進程 ID 28887

視頻:完整的 Live systemd upstart 腳本設置示例:

該視頻包含 – 如何在 CentOS、Redhat、Ubuntu Linux 操作系統中設置 systemd 啟動/upstart 腳本?

  • 如何在啟動引導時自動執行 shell 腳本
  • 如何在 Linux (CentOS 7) 中創建 systemd 服務
  • 如何將 Linux 服務配置為自動啟動?
  • Centos 7 systemd 啟動腳本
  • Ubuntu systemd 啟動腳本

想了解更多關於 systemd 的信息嗎? 這是一份備忘單供您參考。

Linux Systemd 命令備忘單

我希望您了解everything about systemd command和在所有類型的 Linux 操作系統上設置 upstart 腳本的所有知識。

停止:僅適用於舊版操作系統

如果您運行的是older version的 Redhat、Ubuntu、CentOS 版本,那麼您將需要這種格式的腳本。

  • 轉到/etc/init
  • 創建文件crunchify.conf

  • 只需使用命令service crunchify start啟動服務
  • 遵循與上述相同的驗證步驟

如果您發現在您的環境中運行新貴腳本有任何問題,請告訴我。 享受你的一天和快樂的編碼。