一、什麼是start:unrecognizedservice錯誤
在啟動linux系統服務時,有時會出現類似如下的錯誤提示:
start: unrecognized service
這個錯誤提示表明嘗試啟動一個系統服務,但系統並沒有識別出該服務的存在。通常這種錯誤提示出現在用戶試圖啟動一個不存在於系統中的服務,或者是打錯了服務名字。
二、驗證服務是否存在
當你嘗試啟動一個服務時,首先需要確認該服務是否在系統中存在,可以嘗試執行以下命令:
service [service-name] status
如果該服務存在,會有類似如下信息的反饋:
● [service-name] .service - [service-description]
Loaded: loaded [/etc/systemd/system/[service-name].service; enabled; vendor preset: enabled]
Active: active (running) since [啟動時間]; [時間間隔] ago
Main PID: [pid]
CGroup: /system.slice/[service-name].service
└─[pid] [service-name]
如果該服務不存在,則會出現類似如下的提示:
Unit [service-name].service could not be found
三、檢查服務名是否正確
如果服務存在但無法啟動,可能是用戶打錯了服務名字。確保準確拼寫出服務名,並注意區分大小寫。
如果不確定服務名字,可以通過執行如下命令來列出當前系統中所有可用的服務:
service --status-all
這條命令會顯示所有系統服務的狀態,包括已經啟動的和未啟動的。
四、檢查服務文件是否存在
如果服務名字沒有打錯,也沒有發現服務被刪除或卸載,但服務仍然無法啟動,那麼可以檢查服務文件是否存在。服務文件通常存儲在類似如下目錄下:
/lib/systemd/system/
/etc/init.d/
/etc/systemd/system/
進入這些目錄,通過執行以下命令來查找指定服務文件是否存在:
ls [service-name]*
如果服務文件不存在,可能需要重新安裝該服務,或重新創建一個新的服務文件。
五、重新啟動服務管理器
最後,如果以上的方法都不能解決問題,可以嘗試在重新啟動服務管理器,也許服務管理器出現了某種故障或錯誤。
下面是重新啟動服務管理器的命令:
systemctl daemon-reload
完整代碼示例:
1、驗證指定服務是否存在
service [service-name] status
2、列出所有可用的服務
service --status-all
3、查找服務文件是否存在:
ls [service-name]*
4、重新啟動服務管理器:
systemctl daemon-reload
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/304881.html