2017年7月2日 星期日

打開與關閉Ubuntu 16.04的服務

以前的作法會是/etc/init.d或是upstart,但是到Ubuntu 15.04以後現在都是用Systemd。這邊分成兩個部分,一是單純的開關某個服務、二是設定系統開機預設要不要開啟服務。以下的服務名稱為ServiceName。比較可能搞混的用詞會是:
  • active, inactive:代表服務當前的狀態,開或是關
  • enabled, disabled:代表服務在重開機後會是開還是關

I. 用service暫時性的打開與關閉服務

  1. service --status-all
  2. service ServiceName status
  3. sudo service ServiceName stop
  4. sudo service ServiceName start
  5. sudo service ServiceName restart
上面的指令分別是說:
  1. 列出目前系統所有的服務
  2. 看這個服務的狀態
  3. 關閉服務
  4. 打開服務
  5. 重開服務

II. 用systemctl永久設定Systemd管理的服務

  1. systemctl status ServiceName
  2. sudo systemctl stop ServiceName
  3. sudo systemctl start ServiceName
  4. sudo systemctl restart ServiceName
  5. sudo systemctl reload ServiceName
  6. sudo systemctl enable ServiceName
  7. sudo systemctl disable ServiceName
  8. systemctl is-enabled ServiceName
  9. systemctl is-active ServiceName
  10. systemctl show ServiceName
  11. sudo systemctl mask ServiceName
  12. sudo systemctl unmask ServiceName
以上指令的意思分別是:
  1. 看服務有沒有在動
  2. 關閉服務,效果等同於sudo service ServiceName stop
  3. 打開服務,效果等同於sudo service ServiceName start
  4. 重開服務,效果等同於sudo systemctl restart ServiceName
  5. 重新載入服務的設定檔,但必須要這個服務支援才行
  6. 除了打開服務以外,系統重開機以後此服務也會打開
  7. 除了關閉服務以外,系統重開機後此服務也是關閉的
  8. 確認服務在重開機以後會不會被打開
  9. 確認服務現在是不是打開
  10. 看服務的資訊,應該等同於systemctl status ServiceName
  11. 強制關閉服務,無法用start或是enable來打開
  12. 移除上述所謂的強制關閉

參考資料

_EOF_

沒有留言:

張貼留言