1. 程式人生 > >系統服務控制管理命令systemctl

系統服務控制管理命令systemctl

命令systemctl

  • 名稱: 系統(system)控制(control)和服務(service)管理(manager)

  • 用途: 查詢或向systemd管理器傳送控制命令

  • 語法: ]# systemctl [選項] {命令} ...

  • 選項:

      -a --all                顯示所有已載入的單元
      -p --property=NAME      指定名稱顯示
      -t --type=TYPE          列出指定型別的單元
                                  automount
                                  device
                                  path
                                  snapshot
                                  swap
                                  timer      
                                  busname
                                  mount
                                  service
                                  socket
                                  target
          --state=STATE       列出指定狀態的單元
                                  active
                                  elapsed
                                  inactive
                                  loaded
                                  not-found
                                  running
                                  waiting
                                  dead
                                  exited
                                  listening
                                  mounted
                                  plugged
                                  stub 
      -h --help               顯示幫助資訊
          --version           顯示版本資訊
          --system            連線到系統管理器
      -H --host=[USER@]HOST   遠端主機操作
      -M --machine=CONTAINER  本地容器操作
      -l --full               輸出時不要省略單元名
      -r --recursive          顯示主機和本地容器的單元列表
         --reverse            用“list-dependencies”顯示反向依賴
         --job-mode=MODE      指定在排隊新作業時處理已排隊作業的方式
         --show-types         在顯示套接字時,顯示它們的型別
      -i --ignore-inhibitors  當關閉或睡眠時忽略禁止項
         --kill-who=WHO       訊號發給誰
      -s --signal=SIGNAL      傳送哪個訊號
         --now                立即啟動或停止單元
      -q --quiet              抑制輸出
         --no-block           不要等到單元操作結束
         --no-wall            在停止/關機/重啟之前不要傳送牆訊息
         --no-reload          啟用/禁用單元檔案後,不要重新載入守護程序
         --no-legend          不要列印圖例(列標題和提示)
         --no-pager           不要用管道輸出頁面
         --no-ask-password    不要求系統密碼
         --global         全域性啟用/禁用單元檔案
         --runtime        暫時啟用單元檔案
      -f --force          啟用單元檔案時,在關閉時覆蓋現有符號連結,立即強制執行操作
         --preset-mode=   僅應用“啟用”、“禁用”或所有預置
         --root=PATH      啟用指定根目錄中的單元檔案
      -n --lines=INTEGER  要顯示的日誌條數
      -o --output=STRING  更改日誌輸出模式
                              short, short-iso, short-precise, short-monotonic, verbose, 
                              export,json, json-pretty, json-sse, cat
         --plain          將單元依賴項列印為列表而不是樹
    
  • 命令:

    • Unit 命令:

        start NAME...                   啟動(啟用)一個或多個單位
        stop NAME...                    停止(停用)一個或多個單位
        reload NAME...                  重新載入一個或多個單元
        restart NAME...                 啟動或重啟一個或多個單元
        is-active PATTERN...            檢查單元是否處於活動狀態
        is-failed PATTERN...            檢查單元是否失敗
        list-units [PATTERN...]         列出已載入單元
        list-sockets [PATTERN...]       列出按地址順序載入的套接字
        list-timers [PATTERN...]        列出按下一個時間間隔排序的已載入計時器
        try-restart NAME...             若已啟用,則重新啟動一個或多個單元
        reload-or-restart NAME...       如果可能,重新載入一個或多個單元,否則啟動或重新啟動
        reload-or-try-restart NAME...   如果可能,則重新載入一個或多個單元,否則,重新啟動
        isolate NAME                    啟動一個單元,停止其它所有單元
        kill NAME...                    傳送訊號到一個單元的程序
        status [PATTERN...|PID...]      顯示一個或多個單元的執行狀態
        show [PATTERN...|JOB...]        顯示一個或多個單元/作業的資訊
        cat PATTERN...                  顯示一個或多個單元的檔案資訊
        set-property NAME ASSIGNMENT... 設定一個單元的一個或多個屬性
        help PATTERN...|PID...          顯示一個或多個單元的手冊
        reset-failed [PATTERN...]       重置所有、一個或多個單元的失敗狀態
        list-dependencies [NAME]        遞迴顯示該單元所需要的單元
      
    • Unit 檔案命令:

        list-unit-files [PATTERN...]    列出已安裝的檔案單元
        enable NAME...                  設定一個或多個單元檔案的自啟
        disable NAME...                 關閉一個或多個單元檔案的自啟
        reenable NAME...                重新設定一個或多個單元檔案的自啟
        preset NAME...                  根據預置配置啟用/禁用一個或多個單元檔案
        preset-all                      根據預設配置啟用/禁用所有單元檔案
        is-enabled NAME...              檢查是否設定了單元檔案的自啟
        mask NAME...                    遮蔽一個或多個單位
        unmask NAME...                  取消遮蔽一個或多個單位
        link PATH...                    將一個或多個單元檔案連結到搜尋路徑
        add-wants TARGET NAME...        在指定的一個或多個單元上新增目標的“wants”依賴項
        add-requires TARGET NAME...     新增目標對指定的一個或多個單元的依賴關係
        edit NAME...                    編輯一個或多個單元檔案
        get-default                     獲取預設系統模式的名稱
        set-default NAME                設定預設系統模式
      
    • Machine 命令:

        list-machines [PATTERN...]      列出本地容器和主機資訊
      
    • Job 命令:

        list-jobs [PATTERN...]          列出jobs
        cancel [JOB...]                 取消所有、一個或多個作業
      
    • Snapshot 命令:

        snapshot [NAME]                 建立一個快照
        delete NAME...                  刪除一個或多個快照
      
    • Environment 命令:

        show-environment                顯示環境資訊
        set-environment NAME=VALUE...   設定一個或多個環境變數
        unset-environment NAME...       取消設定一個或多個環境變數
        import-environment [NAME...]    匯入所有或部分環境變數
      
    • Manager Lifecycle 命令:

        daemon-reload                   重新載入systemd管理器配置
        daemon-reexec                   重新執行systemd管理
      
    • System 命令:

        is-system-running               檢查系統是否完全執行
        default                         進入系統預設模式
        rescue                          進入系統救援模式
        emergency                       進入系統應急模式
        halt                            關閉並停止系統
        poweroff                        關閉系統
        reboot [ARG]                    關閉並重啟系統
        kexec                           使用kexec關閉並重新啟動系統
        exit                            登出
        switch-root ROOT [INIT]         切換到不同的根檔案系統
        suspend                         暫停系統
        hibernate                       休眠系統
        hybrid-sleep                    休眠並掛起系統
      

 

  • 例項:

#啟動服務
]# systemctl start httpd

#關閉服務
]# systemctl stop httpd

#重啟服務
]# systemctl restart httpd

#檢視服務狀態
]# systemctl status httpd

#設定服務自啟
]# systemctl enable  httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

#關閉服務自啟
]# systemctl disable httpd
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.

#檢視服務的存活狀態
]# systemctl is-active httpd
active

#列出所有服務,包括沒啟動的
]# systemctl -t service -a

#列出檔案單元及狀態
]# systemctl list