自從 Linux 的開機改成為 upstart / systemd 的模式之後,舊的指令 (如 /etc/init.d/network-manager restart) 方式無法使用,須使用 upstart / systemd 的指令來管理,啟動服務 daemon.
不過在 Linux 系統下並不是所有的服務都是透過 upstart / systemd 啟動,也有部分還是需要透過 system V 的方式.
- System V
如果在 /etc/init.d 目錄下有包含 System V init scripts 的就可以用下面的指令方式來啟動.ppny@benjr:$ sudo /etc/init.d/networking restart
- Upstart
但相反的在 /etc/init 目錄下有包含 upstart jobs configuration 的就可以用 initctl 指令方式來啟動.ppny@benjr:$ sudo initctl restart network-manager network-manager start/running, process 2273
關於 initctl 的使用請參考 https://benjr.tw/94015
在 Ubuntu 的 System V / Upstart .其實我們還是可以統一使用 #service 來啟動服務.
ppny@benjr:$ sudo service network-manager restart network-manager stop/waiting network-manager start/running, process 2580
但是 RedHat / CentOS 7 用的是 systemd 就沒有辦法透過 service 這個指令,還是只能乖乖的用 systemctl 來做了.
- systemd
如果你的系統是使用 systemd 來啟動服務那要使用 systemctl 這個指令來操作.[root@benjr ~]# service NetworkManager restart Redirecting to /bin/systemctl restart NetworkManager.service [root@benjr ~]# systemctl restart NetworkManager
關於 systemctl 的使用請參考 https://benjr.tw/94315
沒有解決問題,試試搜尋本站其他內容
最新的ubuntu又改成systemd了 囧