如何在CentOS中製作開機自啟動的服務?

如何在CentOS中製作開機自啟動的服務?

當我啟動 CentOS 機器時,該httpd服務會自動啟動。如何製作具有相同功能的客製化服務?我有一個用於挖礦的程序,我不想./miner每次啟動機器時都需要運行。

答案1

由於您使用的是 CentOS 7.x,因此請建立一個單元。vim /usr/lib/systemd/system/miner.serviceasroot並輸入以下內容:

[Unit]
Description=miner

[Service]
ExecStart=/path/to/miner

[Install]
WantedBy=multi-user.target

如果有關閉或重新載入服務的特定參數,您可以新增ExecStop=和選項。ExecReload=

之後,您只需systemctl enable miner.service使其在每次啟動時啟動即可。

相關內容:

答案2

根據礦工程式提供者的不同,您可能已經聲明了相關的服務。

在centOS上你可以檢查:

# chkconfig --list 

如果您看到您的程序,您可以告訴系統在啟動時自動運行它

# chkconfig postgresql on

如果您沒有找到任何結果,您可以使用範本建立自己的虛擬腳本,例如:

如何為 shell 腳本建立服務,以便可以像守護程式一樣啟動和停止它?

然後將其放入 /etc/init.d/ 並 chmod +x 它

您應該能夠將您的礦工應用程式作為服務進行管理,並具有其附帶的所有優勢

答案3

如果您只需要在啟動時執行命令,則實際上不需要嘗試建立實際的服務。最簡單的方法就是放入. /path/to/miner/etc/rc.d/rc.local。該檔案是每次啟動時執行的腳本(並確保 rc.local 可執行),因此您的命令將在伺服器啟動時執行。

如果您需要將其實際作為服務進行處理,那麼最好的方法取決於您使用的是 CentOS 7 還是 5/6。

編輯:忘記提及,這將以 root 身份執行,因此如果您需要它以非 root 用戶身份運行,請改用su - username -c /path/to/miner

相關內容