NAME
systemctl - 控 制 systemd 系 統 與 服 務 管 理 器
SYNOPSIS
systemctl [OPTIONS...] COMMAND [NAME...] |
描 述
systemctl 可 用 於 檢 查 和 控 制 systemd(1) 系 統 與 服 務 管 理 器 的 狀 態 。
選 項
能 夠 識 別 的 命 令 行 選 項 如 下 :
-t, --type= 參 數 必 須 是 一 個 逗 號 分 隔 的 單 元 類 型 列 表 (例 如 "service,socket")。 在 列 出 單 元 時 , 如 果 使 用 了 此 選 項 , 那 麼 表 示 只 列 出 指 定 類 型 的 單 元 , 否 則 將 列 出 所 有 類 型 的 單 元 。 此 外 , 作 爲 特 例 , 使 用 --type=help 表 示 在 列 出 所 有 可 用 的 單 元 類 型 之 後 退 出 。
--state= 參 數 必 須 是 一 個 逗 號 分 隔 的 單 元 狀 態 列 表 (只 有 LOAD, ACTIVE, SUB 三 大 類 )。 在 列 出 單 元 時 , 如 果 使 用 了 此 選 項 , 那 麼 表 示 只 列 出 處 於 指 定 狀 態 的 單 元 , 否 則 將 列 出 所 有 狀 態 的 單 元 。 例 如 , 使 用 --state=failed 表 示 只 列 出 處 於 失 敗 (failed)狀 態 的 單 元 。 此 外 , 作 爲 特 例 , 使 用 --state=help 表 示 在 列 出 所 有 可 用 的 單 元 狀 態 之 後 退 出 。
-p, --property= 參 數 必 須 是 一 個 逗 號 分 隔 的 屬 性 名 稱 列 表 (例 如 "MainPID,LogLevel"), 表 示 在 使 用 show 命 令 顯 示 屬 性 時 , 僅 顯 示 參 數 中 列 出 的 屬 性 。 如 果 未 指 定 此 選 項 , 那 麼 將 顯 示 全 部 屬 性 。 如 果 多 次 指 定 此 選 項 , 那 麼 相 當 於 將 這 些 選 項 的 參 數 用 逗 號 連 接 起 來 。 不 帶 參 數 的 systemctl show 命 令 將 會 顯 示 管 理 器 (systemd)自 身 的 屬 性 (參 見 systemd-system.conf(5) 手 冊 )。 不 同 類 型 的 單 元 擁 有 不 同 的 屬 性 集 , 指 定 任 意 一 個 單 元 (即 使 並 不 存 在 ), 都 可 以 查 看 此 類 單 元 的 所 有 屬 性 。 類 似 的 , 即 使 指 定 了 一 個 不 存 在 的 任 務 (job), 也 能 查 看 任 務 的 所 有 屬 性 。 每 種 單 元 能 夠 擁 有 的 屬 性 集 分 散 在 systemd.unit(5) 手 冊 以 及 此 類 單 元 專 屬 的 手 冊 中 , 例 如 systemd.service(5), systemd.socket(5) 等 等 。
-a, --all 在 列 出 單 元 時 , 表 示 列 出 所 有 已 加 載 的 單 元 。 在 使 用 show 命 令 顯 示 屬 性 時 , 表 示 顯 示 所 有 屬 性 , 而 不 管 這 些 屬 性 是 否 已 被 設 置 。 如 果 想 要 列 出 所 有 已 安 裝 的 單 元 , 請 使 用 list-unit-files 命 令 。
-r, --recursive 在 列 出 單 元 時 , 同 時 也 以 "容 器 名 :單 元 名 " 格 式 列 出 本 地 容 器 中 的 單 元 。
--reverse 在 使 用 list-dependencies 命 令 時 , 僅 顯 示 單 元 之 間 的 反 向 依 賴 關 係 。 也 就 是 僅 顯 示 WantedBy=, RequiredBy=, PartOf=, BoundBy= 系 列 (而 不 是 Wants= 系 列 )的 依 賴 關 係 。
--after 在 使 用 list-dependencies 命 令 時 , 僅 顯 示 在 先 後 順 序 上 早 於 指 定 單 元 的 那 些 單 元 , 也 就 是 遞 歸 的 列 出 After= 中 的 單 元 。 注 意 , 每 個 After= 依 賴 都 會 自 動 生 成 一 個 對 應 的 Before= 依 賴 。 單 元 之 間 的 先 後 順 序 既 可 以 被 顯 式 的 明 確 設 定 , 也 可 以 由 其 他 指 令 隱 式 的 自 動 生 成 (例 如 WantedBy= 或 RequiresMountsFor=)。 無 論 是 隱 式 自 動 生 成 的 先 後 順 序 , 還 是 顯 式 明 確 設 定 的 先 後 順 序 , 都 會 被 list-dependencies 命 令 顯 示 出 來 。
--before 在 使 用 list-dependencies 命 令 時 , 僅 顯 示 在 先 後 順 序 上 晚 於 指 定 單 元 的 那 些 單 元 , 也 就 是 遞 歸 的 列 出 Before= 中 的 單 元 。
-l, --full 在 status, list-units, list-jobs, list-timers 命 令 的 輸 出 中 , 顯 示 完 整 的 單 元 名 稱 、 進 程 樹 項 目 、 日 誌 輸 出 、 單 元 描 述 , 也 就 是 不 省 略 或 截 斷 它 們 。
--value 在 使 用 show 命 令 顯 示 屬 性 時 , 僅 顯 示 屬 性 值 , 而 不 顯 示 屬 性 名 及 等 號 。
--show-types 在 使 用 list-sockets 命 令 列 出 套 接 字 (socket)時 , 同 時 顯 示 套 接 字 的 類 型 。
--job-mode= 在 向 任 務 隊 列 中 添 加 新 任 務 (job)時 , 如 何 處 理 隊 列 中 已 有 的 任 務 。 可 設 爲 "fail", "replace", "replace-irreversibly", "isolate", "ignore-dependencies", "ignore-requirements", "flush" 之 一 。 僅 在 使 用 isolate 命 令 時 , 默 認 值 爲 "isolate" 且 不 能 更 改 , 對 於 其 他 命 令 , 默 認 值 皆 爲 "replace" 。
"fail" 表 示 當 新 任 務 與 隊 列 中 已 有 的 任 務 衝 突 時 , 該 命 令 將 失 敗 。 所 謂 "衝 突 "的 含 義 是 : 導 致 隊 列 中 已 有 的 某 個 啓 動 操 作 轉 變 爲 停 止 操 作 , 或 者 相 反 。
"replace" 表 示 將 隊 列 中 衝 突 的 任 務 替 換 爲 新 任 務 。
"replace-irreversibly" 與 "replace" 類 似 , 不 同 之 處 在 於 將 新 任 務 同 時 標 記 爲 "不 可 撤 銷 ", 也 就 是 即 使 未 來 與 其 他 新 添 加 的 任 務 發 生 衝 突 也 不 會 被 撤 消 。 注 意 , 這 個 "不 可 撤 銷 "的 任 務 , 仍 然 可 以 使 用 cancel 命 令 顯 式 的 撤 消 。
"isolate" 僅 用 於 啓 動 操 作 , 表 示 在 該 單 元 啓 動 之 後 , 所 有 其 他 單 元 都 會 被 停 止 。 當 使 用 isolate 命 令 的 時 候 , 這 是 默 認 值 , 且 不 能 更 改 。
"flush" 表 示 撤 消 隊 列 中 已 有 的 全 部 任 務 , 然 後 加 入 新 任 務 。
"ignore-dependencies" 表 示 忽 略 新 任 務 的 所 有 依 賴 關 係 (包 括 先 後 順 序 依 賴 ), 立 即 執 行 請 求 的 操 作 。 如 果 成 功 , 那 麼 所 有 被 依 賴 的 單 元 及 先 後 順 序 都 將 被 忽 略 。 僅 用 於 調 試 目 的 , 切 勿 用 於 常 規 目 的 。
"ignore-requirements" 類 似 於 "ignore-dependencies" , 表 示 僅 忽 略 必 需 的 依 賴 (但 依 然 遵 守 單 元 之 間 的 先 後 順 序 )。
--fail 這 是 --job-mode=fail 的 快 捷 方 式 。 當 與 kill 命 令 一 起 使 用 時 , 表 示 如 果 沒 有 任 何 單 元 被 殺 死 , 那 麼 將 會 導 致 報 錯 。
-i, --ignore-inhibitors 當 關 閉 或 休 眠 系 統 時 , 忽 略 inhibitor 鎖 。 應 用 程 序 可 以 利 用 inhibitor 鎖 防 止 某 些 重 要 操 作 (例 如 刻 錄 光 盤 )被 關 機 或 休 眠 打 斷 。 任 何 用 戶 都 可 以 獲 取 inhibitor 鎖 , 但 是 隻 有 特 權 用 戶 可 以 撤 消 或 者 忽 略 它 。 正 常 情 況 下 , 關 機 與 休 眠 動 作 會 因 爲 inhibitor 鎖 的 存 在 而 失 敗 (無 論 該 動 作 是 否 由 特 權 用 戶 發 起 ), 同 時 所 有 已 激 活 的 inhibitor 鎖 也 都 會 被 顯 示 出 來 。 但 如 果 使 用 了 此 選 項 , 那 麼 inhibitor 鎖 將 被 忽 略 , 關 機 或 休 眠 將 會 照 常 執 行 , 同 時 也 不 再 顯 示 這 些 已 激 活 的 鎖 。
-q, --quiet 安 靜 模 式 , 也 就 是 禁 止 輸 出 任 何 信 息 到 標 準 輸 出 。 注 意 : (1)這 並 不 適 用 於 輸 出 信 息 是 唯 一 結 果 的 命 令 (例 如 show); (2)顯 示 在 標 準 錯 誤 上 的 出 錯 信 息 永 遠 不 會 被 屏 蔽 。
--no-block 默 認 爲 阻 塞 模 式 , 也 就 是 任 務 經 過 校 驗 、 排 入 任 務 隊 列 之 後 , systemctl 必 須 一 直 等 到 單 元 啓 動 /停 止 完 成 纔 算 執 行 結 束 。 使 用 此 選 項 之 後 , 將 變 爲 無 阻 塞 模 式 , 也 就 是 任 務 排 入 隊 列 之 後 , 即 算 systemctl 執 行 結 束 (不 必 等 待 單 元 啓 動 /停 止 完 成 )。
--user 與 當 前 調 用 用 戶 的 用 戶 服 務 管 理 器 (systemd 用 戶 實 例 )通 信 , 而 不 是 默 認 的 系 統 服 務 管 理 器 (systemd 系 統 實 例 )。
--system 與 系 統 服 務 管 理 器 (systemd 系 統 實 例 )通 信 , 這 是 默 認 值 。
--no-wall 在 執 行 halt, poweroff, reboot 動 作 前 , 不 發 送 警 告 消 息 。
--global 表 示 在 全 局 用 戶 單 元 目 錄 (通 常 是 /etc/systemd/user/)上 操 作 , 從 而 全 局 的 操 作 一 個 用 戶 單 元 , 這 會 影 響 到 所 有 未 來 登 入 的 用 戶 。
--no-reload 與 enable, disable, edit 命 令 連 用 , 表 示 在 完 成 操 作 之 後 不 重 新 加 載 systemd 守 護 進 程 的 配 置 (默 認 會 自 動 重 新 加 載 ), 相 當 於 不 自 動 執 行 daemon-reload 命 令 。
--no-ask-password 與 start 及 其 相 關 命 令 (reload, restart, try-restart, reload-or-restart, reload-or-try-restart, isolate)連 用 , 表 示 不 詢 問 密 碼 。 單 元 在 啓 動 時 可 能 要 求 輸 入 密 碼 (例 如 用 於 解 密 證 書 或 掛 載 加 密 文 件 系 統 )。 當 未 使 用 此 選 項 時 , systemctl 將 會 在 終 端 上 向 用 戶 詢 問 所 需 的 密 碼 。 如 果 使 用 了 此 選 項 , 那 麼 必 須 通 過 其 他 方 法 提 供 密 碼 (例 如 通 過 密 碼 代 理 程 序 ), 否 則 單 元 可 能 會 啓 動 失 敗 。 使 用 此 選 項 還 會 導 致 在 驗 證 用 戶 身 份 時 , 不 能 使 用 從 終 端 輸 入 密 碼 的 方 式 。
--kill-who= 與 kill 命 令 連 用 , 表 示 向 哪 個 進 程 發 送 信 號 (--signal=)。 可 設 爲 main(僅 殺 死 主 進 程 ) 或 control(僅 殺 死 控 制 進 程 ) 或 all(殺 死 全 部 進 程 , 這 是 默 認 值 )。 所 謂 "主 進 程 "是 指 定 義 了 單 元 生 存 期 的 進 程 。 所 謂 "控 制 進 程 "是 指 用 於 改 變 單 元 狀 態 的 進 程 。 例 如 , 所 有 ExecStartPre=, ExecStop=, ExecReload= 啓 動 的 進 程 都 是 控 制 進 程 。 注 意 , 對 於 一 個 單 元 來 說 , 同 一 時 刻 只 能 存 在 一 個 控 制 進 程 , 因 爲 同 一 時 刻 只 能 存 在 一 個 狀 態 變 化 的 動 作 。 對 於 Type=forking 類 型 的 服 務 來 說 , ExecStart= 啓 動 的 初 始 進 程 就 是 一 個 控 制 進 程 , 而 此 進 程 隨 後 派 生 出 來 作 爲 守 護 進 程 運 行 的 那 個 進 程 , 則 是 該 單 元 的 主 進 程 (如 果 它 可 以 被 檢 測 到 的 話 )。 但 對 於 其 他 類 型 的 服 務 來 說 , ExecStart= 啓 動 的 初 始 進 程 反 而 始 終 是 該 服 務 的 主 進 程 。 一 個 服 務 單 元 可 以 包 含 以 下 進 程 : 零 個 或 一 個 主 進 程 , 零 個 或 一 個 控 制 進 程 , 任 意 數 量 (可 以 是 零 個 )的 其 他 進 程 。 注 意 , 不 是 所 有 類 型 的 單 元 都 含 有 上 述 三 種 進 程 。 例 如 , 對 於 mount 類 型 的 單 元 來 說 , 就 僅 有 控 制 進 程 (/usr/bin/mount 與 /usr/bin/umount), 而 沒 有 主 進 程 。 默 認 值 是 all
-s, --signal= 與 kill 命 令 連 用 , 表 示 向 目 標 進 程 發 送 哪 個 信 號 。 必 須 是 SIGTERM, SIGINT, SIGSTOP 之 類 衆 所 周 知 的 信 號 。 默 認 值 爲 SIGTERM 。
.RE
-f, --force 當 與 enable 命 令 連 用 時 , 表 示 覆 蓋 所 有 現 存 的 同 名 符 號 鏈 接 。 當 與 edit 命 令 連 用 時 , 表 示 創 建 所 有 尚 不 存 在 的 指 定 單 元 。 當 與 halt, poweroff, reboot, kexec 命 令 連 用 時 , 表 示 跳 過 單 元 的 正 常 停 止 步 驟 , 強 制 直 接 執 行 關 機 操 作 。 如 果 僅 使 用 此 選 項 一 次 , 那 麼 所 有 進 程 都 將 被 強 制 殺 死 , 並 且 所 有 文 件 系 統 都 將 被 卸 載 (或 以 只 讀 模 式 重 新 掛 載 )。 這 可 以 算 是 一 種 野 蠻 但 還 算 相 對 比 較 安 全 的 快 速 關 機 或 重 啓 的 方 法 。 如 果 連 續 兩 次 使 用 此 選 項 , 那 麼 將 既 不 殺 死 進 程 , 也 不 卸 載 文 件 系 統 , 而 是 直 接 強 制 關 機 或 重 啓 (但 kexec 除 外 )。 警 告 : 連 續 兩 次 使 用 --force 選 項 將 會 導 致 數 據 丟 失 、 文 件 系 統 不 一 致 等 不 良 後 果 。 注 意 , 如 果 連 續 兩 次 使 用 --force 選 項 , 那 麼 所 有 操 作 都 將 由 systemctl 自 己 直 接 執 行 , 而 不 會 與 systemd 進 程 通 信 。 這 意 味 着 , 即 使 systemd 進 程 已 經 僵 死 或 者 崩 潰 , 連 續 兩 次 使 用 --force 選 項 所 指 定 的 操 作 依 然 能 夠 執 行 成 功 。
--message= 當 與 halt, poweroff, reboot, kexec 命 令 一 起 使 用 時 , 用 於 設 置 一 個 解 釋 爲 什 麼 進 行 該 操 作 的 字 符 串 。 此 字 符 串 將 與 默 認 的 關 機 消 息 一 起 記 錄 到 日 誌 中 。
--now 當 與 enable 命 令 連 用 時 , 表 示 同 時 還 要 啓 動 該 單 元 。 當 與 disable 或 mask 命 令 連 用 時 , 表 示 同 時 還 要 停 止 該 單 元 。
--root= 與 enable/disable/is-enabled 等 相 關 命 令 連 用 , 用 於 設 置 尋 找 單 元 文 件 時 的 根 目 錄 。
--runtime 當 與 enable, disable, edit 等 相 關 命 令 連 用 時 , 表 示 僅 作 臨 時 變 更 , 從 而 確 保 這 些 變 更 會 在 重 啓 後 丟 失 。 這 意 味 着 所 做 的 變 更 將 會 保 存 在 /run 目 錄 下 (立 即 生 效 但 重 啓 後 該 目 錄 的 內 容 將 全 部 丟 失 ), 而 不 是 保 存 在 /etc 目 錄 下 。 類 似 的 , 當 與 set-property 命 令 連 用 時 , 所 做 的 變 更 亦 是 臨 時 的 , 這 些 變 更 在 重 啓 後 亦 會 丟 失 。
--preset-mode= 與 preset 或 preset-all 命 令 連 用 , 可 設 爲 下 列 值 之 一 : "full"(默 認 值 ) 表 示 完 全 按 照 預 設 規 則 啓 用 與 停 用 各 單 元 。 "enable-only" 表 示 僅 按 照 預 設 規 則 啓 用 各 單 元 。 "disable-only" 表 示 僅 按 照 預 設 規 則 停 用 各 單 元 。
-n, --lines= 與 status 命 令 連 用 , 控 制 日 誌 的 顯 示 行 數 (從 最 新 的 一 行 開 始 計 算 )。 必 須 設 爲 一 個 正 整 數 , 默 認 值 是 "10"。
-o, --output= 與 status 命 令 連 用 , 控 制 日 誌 的 顯 示 格 式 。 詳 見 journalctl(1) 手 冊 。 默 認 值 爲 "short" 。
.RE
--firmware-setup 與 reboot 命 令 連 用 , 要 求 系 統 主 板 的 UEFI固 件 重 啓 到 安 裝 模 式 。 僅 支 持 某 些 以 UEFI模 式 啓 動 的 主 板 。
--plain 與 list-dependencies, list-units, list-machines 命 令 連 用 , 將 輸 出 從 默 認 的 樹 形 變 爲 列 表 型 。
-H, --host= 操 作 指 定 的 遠 程 主 機 。 可 以 僅 指 定 一 個 主 機 名 (hostname), 也 可 以 使 用 "username@hostname" 格 式 。 hostname 後 面 還 可 以 加 上 容 器 名 (以 冒 號 分 隔 ), 也 就 是 形 如 "hostname:container" 的 格 式 , 以 表 示 直 接 連 接 到 指 定 主 機 的 指 定 容 器 內 。 操 作 將 通 過 SSH協 議 進 行 , 以 確 保 安 全 。 可 以 通 過 machinectl -H HOST 命 令 列 出 遠 程 主 機 上 的 所 有 容 器 名 稱 。
-M, --machine= 在 本 地 容 器 內 執 行 操 作 。 必 須 明 確 指 定 容 器 的 名 稱 。
--no-pager 不 將 程 序 的 輸 出 內 容 管 道 (pipe)給 分 頁 程 序 。
--no-legend 不 輸 出 列 標 題 , 也 就 是 不 在 輸 出 列 表 的 頭 部 和 尾 部 顯 示 字 段 的 名 稱 。
-h, --help 顯 示 簡 短 的 幫 助 信 息 並 退 出 。
--version 顯 示 簡 短 的 版 本 信 息 並 退 出 。
命 令
模 式 (PATTERN)參 數 的 語 法 與 文 件 名 匹 配 語 法 類 似 : 用 "*"匹 配 任 意 數 量 的 字 符 , 用 "?"匹 配 單 個 字 符 , 用 "[]"匹 配 字 符 範 圍 。 如 果 給 出 了 模 式 (PATTERN)參 數 , 那 麼 表 示 該 命 令 僅 作 用 於 單 元 名 稱 與 至 少 一 個 模 式 相 匹 配 的 單 元 。 單 元 命 令
list-units [PATTERN...] 列 出 systemd 已 加 載 的 單 元 。 除 非 明 確 使 用 --all 選 項 列 出 全 部 單 元 (包 括 : 直 接 引 用 的 單 元 、 出 於 依 賴 關 係 而 被 引 用 的 單 元 、 活 動 的 單 元 、 失 敗 的 單 元 ), 否 則 默 認 僅 列 出 : 活 動 的 單 元 、 失 敗 的 單 元 、 正 處 於 任 務 隊 列 中 的 單 元 。 如 果 給 出 了 模 式 (PATTERN)參 數 , 那 麼 表 示 該 命 令 僅 作 用 於 單 元 名 稱 與 至 少 一 個 模 式 相 匹 配 的 單 元 。 還 可 以 通 過 --type= 與 --state= 選 項 過 濾 要 列 出 的 單 元 。 這 是 默 認 命 令 。
list-sockets [PATTERN...] 列 出 已 加 載 的 套 接 字 (socket)單 元 , 並 按 照 監 聽 地 址 排 序 。 如 果 給 出 了 模 式 (PATTERN)參 數 , 那 麼 表 示 該 命 令 僅 作 用 於 單 元 名 稱 與 至 少 一 個 模 式 相 匹 配 的 單 元 。 該 命 令 的 輸 出 大 致 像 下 面 這 樣 子 :
LISTEN UNIT
ACTIVATES
/dev/initctl systemd-initctl.socket systemd-initctl.service
...
[::]:22 sshd.socket sshd.service
kobject-uevent 1 systemd-udevd-kernel.socket
systemd-udevd.service
5 sockets listed. 注 意 : 因 爲 監 聽 地 址 中 有 可 能 包 含 空 格 , 所 以 不 適 合 使 用 程 序 分 析 該 命 令 的 輸 出 。 參 見 --show-types, --all, --state= 選 項 。
list-timers [PATTERN...] 列 出 已 加 載 的 定 時 器 (timer)單 元 , 並 按 照 下 次 執 行 的 時 間 點 排 序 。 如 果 給 出 了 模 式 (PATTERN)參 數 , 那 麼 表 示 該 命 令 僅 作 用 於 單 元 名 稱 與 至 少 一 個 模 式 相 匹 配 的 單 元 。 參 見 --all 與 --state= 選 項 。
start PATTERN... 啓 動 (activate)指 定 的 已 加 載 單 元 (無 法 啓 動 未 加 載 的 單 元 )。 如 果 某 個 單 元 未 被 啓 動 , 又 沒 有 處 於 失 敗 (failed)狀 態 , 那 麼 通 常 是 因 爲 該 單 元 沒 有 被 加 載 , 所 以 根 本 沒 有 被 模 式 匹 配 到 。 此 外 , 對 於 從 模 板 實 例 化 而 來 的 單 元 , 因 爲 systemd 會 在 其 尚 未 啓 動 前 忽 略 它 們 , 又 因 爲 模 式 (PATTERN)參 數 僅 能 匹 配 已 加 載 單 元 的 "主 名 稱 "(不 含 單 元 的 "別 名 "), 所 以 , 在 這 個 命 令 中 使 用 包 含 通 配 符 的 模 式 並 沒 有 多 少 實 際 意 義 。
stop PATTERN... 停 止 (deactivate)指 定 的 單 元
reload PATTERN... 要 求 指 定 的 單 元 重 新 加 載 它 們 的 配 置 。 注 意 , 這 裏 所 說 的 "配 置 "是 服 務 進 程 專 屬 的 配 置 (例 如 httpd.conf 之 類 ), 而 不 是 systemd 的 "單 元 文 件 "。 如 果 你 想 重 新 加 載 systemd 的 "單 元 文 件 ", 那 麼 應 該 使 用 daemon-reload 命 令 。 以 Apache 爲 例 , 該 命 令 會 導 致 重 新 加 載 httpd.conf 文 件 , 而 不 是 apache.service 文 件 。 不 要 將 此 命 令 與 daemon-reload 命 令 混 淆 。
restart PATTERN... 重 新 啓 動 指 定 的 單 元 。 若 指 定 的 單 元 尚 未 啓 動 , 則 啓 動 它 們 。
try-restart PATTERN... 重 新 啓 動 指 定 的 已 啓 動 單 元 。 注 意 , 若 指 定 的 單 元 尚 未 啓 動 , 則 不 做 任 何 操 作 。
reload-or-restart PATTERN... 首 先 嚐 試 重 新 加 載 指 定 單 元 的 進 程 專 屬 配 置 , 對 於 那 些 加 載 失 敗 的 單 元 , 再 繼 續 嘗 試 重 新 啓 動 它 們 。 若 指 定 的 單 元 尚 未 啓 動 , 則 啓 動 它 們 。
try-reload-or-restart PATTERN... 首 先 嚐 試 重 新 加 載 指 定 單 元 的 進 程 專 屬 配 置 , 對 於 那 些 加 載 失 敗 的 單 元 , 再 繼 續 嘗 試 重 新 啓 動 它 們 。 注 意 , 若 指 定 的 單 元 尚 未 啓 動 , 則 不 做 任 何 操 作 。
isolate NAME 啓 動 指 定 的 單 元 以 及 所 有 依 賴 單 元 , 同 時 停 止 所 有 其 他 單 元 。 如 果 沒 有 給 出 單 元 的 後 綴 名 , 那 麼 相 當 於 以 ".target" 作 爲 後 綴 名 。 這 類 似 於 傳 統 上 切 換 SysV運 行 級 的 概 念 。 該 命 令 會 立 即 停 止 所 有 在 新 目 標 單 元 中 不 需 要 的 進 程 , 這 其 中 可 能 包 括 當 前 正 在 運 行 的 圖 形 環 境 以 及 正 在 使 用 的 終 端 。 注 意 , 該 命 令 僅 可 用 於 AllowIsolate=yes 的 單 元 。 參 見 systemd.unit(5) 手 冊 。
kill PATTERN... 向 指 定 單 元 的 --kill-who= 進 程 發 送 --signal= 信 號 。
is-active PATTERN... 檢 查 指 定 的 單 元 中 , 是 否 有 處 於 活 動 (active)狀 態 的 單 元 。 如 果 存 在 至 少 一 個 處 於 活 動 (active)狀 態 的 單 元 , 那 麼 返 回 "0"值 , 否 則 返 回 非 零 值 。 除 非 同 時 使 用 了 --quiet 選 項 , 否 則 , 此 命 令 還 會 在 標 準 輸 出 上 顯 示 單 元 的 狀 態 。
is-failed PATTERN... 檢 查 指 定 的 單 元 中 , 是 否 有 處 於 失 敗 (failed)狀 態 的 單 元 。 如 果 存 在 至 少 一 個 處 於 失 敗 (failed)狀 態 的 單 元 , 那 麼 返 回 "0"值 , 否 則 返 回 非 零 值 。 除 非 同 時 使 用 了 --quiet 選 項 , 否 則 , 此 命 令 還 會 在 標 準 輸 出 上 顯 示 單 元 的 狀 態 。
status [PATTERN...|PID...] 如 果 指 定 了 單 元 , 那 麼 顯 示 指 定 單 元 的 運 行 時 狀 態 信 息 , 以 及 這 些 單 元 最 近 的 日 誌 數 據 。 如 果 指 定 了 PID, 那 麼 顯 示 指 定 PID所 屬 單 元 的 運 行 時 狀 態 信 息 , 以 及 這 些 單 元 最 近 的 日 誌 數 據 。 如 果 未 指 定 任 何 單 元 或 PID, 那 麼 顯 示 整 個 系 統 的 狀 態 信 息 , 此 時 若 與 --all 連 用 , 則 同 時 顯 示 所 有 已 加 載 單 元 (可 以 用 -t 限 定 單 元 類 型 )的 狀 態 信 息 。 此 命 令 用 於 輸 出 人 類 易 讀 的 結 果 , 不 要 將 其 用 於 程 序 分 析 (應 該 使 用 show 命 令 )。 除 非 使 用 了 --lines 與 --full 選 項 , 否 則 默 認 只 輸 出 10行 日 誌 , 並 且 超 長 的 部 分 會 被 省 略 號 截 斷 。 此 外 , journalctl --unit=NAME 或 journalctl --user-unit=NAME 也 會 對 超 長 的 消 息 使 用 類 似 的 省 略 號 截 斷 。
show [PATTERN...|JOB...] 以 "屬 性 =值 "的 格 式 顯 示 指 定 單 元 或 任 務 的 所 有 屬 性 。 單 元 用 其 名 稱 表 示 , 而 任 務 則 用 其 id表 示 。 如 果 沒 有 指 定 任 何 單 元 或 任 務 , 那 麼 顯 示 管 理 器 (systemd)自 身 的 屬 性 。 除 非 使 用 了 --all 選 項 , 否 則 默 認 不 顯 示 屬 性 值 爲 空 的 屬 性 。 可 以 使 用 --property= 選 項 限 定 僅 顯 示 特 定 的 屬 性 。 此 命 令 的 輸 出 適 合 用 於 程 序 分 析 , 而 不 適 合 被 人 類 閱 讀 (應 該 使 用 status 命 令 )。
cat PATTERN... 顯 示 指 定 單 元 的 單 元 文 件 內 容 。 在 顯 示 每 個 單 元 文 件 的 內 容 之 前 , 會 額 外 顯 示 一 行 單 元 文 件 的 絕 對 路 徑 。
set-property NAME ASSIGNMENT... 在 運 行 時 修 改 單 元 的 屬 性 值 。 主 要 用 於 修 改 單 元 的 資 源 控 制 屬 性 值 而 無 需 直 接 修 改 單 元 文 件 。 並 非 所 有 屬 性 都 可 以 在 運 行 時 被 修 改 , 但 大 多 數 資 源 控 制 屬 性 (參 見 systemd.resource-control(5))可 以 。 所 作 修 改 會 立 即 生 效 , 並 永 久 保 存 在 磁 盤 上 , 以 確 保 永 遠 有 效 。 但 是 如 果 使 用 了 --runtime 選 項 , 那 麼 此 修 改 僅 臨 時 有 效 , 下 次 重 啓 此 單 元 后 , 將 會 恢 復 到 原 有 的 設 置 。 設 置 屬 性 的 語 法 與 單 元 文 件 中 的 寫 法 相 同 。 例 如 : systemctl set-property foobar.service CPUShares=777 注 意 , 此 命 令 可 以 同 時 修 改 多 個 屬 性 值 , 只 需 依 次 將 各 個 屬 性 用 空 格 分 隔 即 可 。 與 單 元 文 件 中 的 規 則 相 同 , 設 爲 空 表 示 清 空 當 前 已 存 在 的 列 表 。
help PATTERN...|PID... 顯 示 指 定 單 元 的 手 冊 頁 (若 存 在 )。 指 定 PID表 示 顯 示 該 進 程 所 屬 單 元 的 手 冊 頁 (若 存 在 )。
reset-failed [PATTERN...] 重 置 指 定 單 元 的 失 敗 (failed)狀 態 。 如 果 未 指 定 任 何 單 元 , 則 重 置 所 有 單 元 的 失 敗 (failed)狀 態 。 當 某 個 單 元 因 爲 某 種 原 因 操 作 失 敗 (例 如 退 出 狀 態 碼 不 爲 零 或 進 程 被 強 制 殺 死 或 啓 動 超 時 ), 將 會 自 動 進 入 失 敗 (failed)狀 態 , 退 出 狀 態 碼 與 導 致 故 障 的 原 因 將 被 記 錄 到 日 誌 中 以 方 便 日 後 排 查 。
list-dependencies
[NAME] 顯 示 單 元 的
依 賴 關 係 。 也
就 是 顯 示 由
Requires=, Requisite=, ConsistsOf=,
Wants=, BindsTo= 所 形 成
的 依 賴 關 係 。
如 果 沒 有 明 確
指 定 單 元 的 名
稱 , 那 麼 表 示
顯 示 default.target 的 依 賴
關 係 樹 。 默 認
情 況 下 , 僅 以
遞 歸 方 式 顯 示 target
單 元 的 依 賴 關
係 樹 , 而 對 於
其 他 類 型 的 單
元 , 僅 顯 示 一
層 依 賴 關 係 (不
遞 歸 )。 但 如 果
使 用 了 --all 選 項
, 那 麼 將 對 所
有 類 型 的 單 元
都 強 制 遞 歸 的
顯 示 完 整 的 依
賴 關 係 樹 。 還
可 以 使 用 --reverse,
--after, --before 選 項 指
定 僅 顯 示 特 定
類 型 的 依 賴 關
係 。 單 元 文 件
命 令
list-unit-files [PATTERN...] 列 出
所 有 已 安 裝 的
單 元 文 件 及 其
啓 用 狀 態 (相 當
於 同 時 使 用 了
is-enabled 命 令 )。 如
果 給 出 了 模 式
(PATTERN)參 數 , 那 麼
表 示 該 命 令 僅
作 用 於 單 元 文
件 名 稱 與 至 少
一 個 模 式 相 匹
配 的 單 元 (僅 匹
配 文 件 名 , 不
匹 配 路 徑 )。
enable NAME..., enable PATH... 啓 用 指 定 的 單 元 或 單 元 實 例 (多 數 時 候 相 當 於 將 這 些 單 元 設 爲 "開 機 時 自 動 啓 動 "或 "插 入 某 個 硬 件 時 自 動 啓 動 ")。 這 將 會 按 照 單 元 文 件 中 "[Install]" 小 節 的 指 示 , 在 例 如 /etc/systemd/system/multi-user.target.wants/ 這 樣 的 目 錄 中 , 創 建 指 向 單 元 文 件 自 身 的 軟 鏈 接 。 創 建 完 軟 連 接 之 後 , systemd 將 會 自 動 重 新 加 載 自 身 的 配 置 (相 當 於 執 行 daemon-reload 命 令 ), 以 確 保 所 做 的 變 更 立 即 生 效 。 注 意 , 除 非 同 時 使 用 了 --now 選 項 (相 當 於 同 時 執 行 start 命 令 ), 否 則 啓 用 一 個 單 元 並 不 會 導 致 該 單 元 被 啓 動 。 注 意 , 對 於 形 如 foo [AT] bar.service 這 樣 的 單 元 實 例 , 軟 鏈 接 自 身 的 文 件 名 是 實 例 化 之 後 的 單 元 名 稱 , 但 是 軟 連 接 所 指 向 的 目 標 文 件 則 是 該 單 元 的 模 板 文 件 。 如 果 此 命 令 的 參 數 是 一 個 有 效 的 單 元 名 稱 (NAME), 那 麼 將 自 動 搜 索 所 有 單 元 目 錄 。 如 果 此 命 令 的 參 數 是 一 個 單 元 文 件 的 絕 對 路 徑 (PATH), 那 麼 將 直 接 使 用 指 定 的 單 元 文 件 。 如 果 參 數 是 一 個 位 於 標 準 單 元 目 錄 之 外 的 單 元 文 件 , 那 麼 將 會 在 標 準 單 元 目 錄 中 額 外 創 建 一 個 指 向 此 單 元 文 件 的 軟 連 接 , 以 確 保 該 單 元 文 件 能 夠 被 start 之 類 的 命 令 找 到 。 除 非 使 用 了 --quiet 選 項 , 否 則 此 命 令 還 會 顯 示 對 文 件 系 統 所 執 行 的 操 作 (Created symlink ...)。 此 命 令 是 維 護 .{wants,requires}/ 目 錄 與 單 元 別 名 的 首 選 方 法 。 注 意 , 此 命 令 僅 會 按 照 單 元 文 件 中 "[Install]" 小 節 預 設 的 名 稱 創 建 軟 鏈 接 。 另 一 方 面 , 系 統 管 理 員 亦 可 手 動 創 建 所 需 的 軟 鏈 接 , 特 別 是 在 需 要 創 建 不 同 於 默 認 軟 鏈 接 名 稱 的 時 候 。 不 過 需 要 注 意 的 是 , 系 統 管 理 員 必 須 在 創 建 完 軟 連 接 之 後 手 動 執 行 daemon-reload 命 令 , 以 確 保 所 做 的 變 更 立 即 生 效 。 不 要 將 此 命 令 與 start 命 令 混 淆 , 它 們 是 相 互 獨 立 的 命 令 : 可 以 啓 動 一 個 尚 未 啓 用 的 單 元 , 也 可 以 啓 用 一 個 尚 未 啓 動 的 單 元 。 enable 命 令 只 是 設 置 了 單 元 的 啓 動 鉤 子 (通 過 創 建 軟 鏈 接 ), 例 如 在 系 統 啓 動 時 或 者 某 個 硬 件 插 入 時 , 自 動 啓 動 某 個 單 元 。 而 start 命 令 則 是 具 體 執 行 單 元 的 啓 動 操 作 , 例 如 對 於 服 務 單 元 來 說 就 是 啓 動 守 護 進 程 , 而 對 於 套 接 字 單 元 來 說 則 是 綁 定 套 接 字 , 等 等 。 若 與 --user 選 項 連 用 , 則 表 示 變 更 僅 作 用 於 用 戶 實 例 , 否 則 默 認 作 用 於 系 統 實 例 (相 當 於 使 用 --system 選 項 )。 若 與 --runtime 選 項 連 用 , 則 表 示 僅 作 臨 時 性 變 更 (重 啓 後 所 有 變 更 都 將 丟 失 ), 否 則 默 認 爲 永 久 性 變 更 。 若 與 --global 選 項 連 用 , 則 表 示 變 更 作 用 於 所 有 用 戶 (在 全 局 用 戶 單 元 目 錄 上 操 作 ), 否 則 默 認 僅 作 用 於 當 前 用 戶 (在 私 有 用 戶 單 元 目 錄 上 操 作 )。 注 意 , 當 與 --runtime 選 項 連 用 時 , systemd 守 護 進 程 不 會 重 新 加 載 自 身 的 配 置 。 不 可 將 此 命 令 應 用 於 已 被 mask 命 令 屏 蔽 的 單 元 , 否 則 將 會 導 致 錯 誤 。
disable NAME... 停 用 指 定 的 單 元 或 單 元 實 例 (多 數 時 候 相 當 於 撤 銷 這 些 單 元 的 "開 機 時 自 動 啓 動 "以 及 "插 入 某 個 硬 件 時 自 動 啓 動 ")。 這 將 會 從 單 元 目 錄 中 刪 除 所 有 指 向 單 元 自 身 及 所 有 支 持 單 元 的 軟 鏈 接 。 這 相 當 於 撤 銷 enable 或 link 命 令 所 做 的 操 作 。 注 意 , 此 命 令 會 刪 除 所 有 指 向 單 元 自 身 及 所 有 支 持 單 元 的 軟 鏈 接 , 包 括 手 動 創 建 的 軟 連 接 以 及 通 過 enable 與 link 命 令 創 建 的 軟 連 接 。 注 意 , 雖 然 disable 與 enable 是 一 對 相 反 的 命 令 , 但 是 它 們 的 效 果 並 不 一 定 總 是 完 全 對 稱 的 。 因 爲 disable 刪 除 的 軟 連 接 數 量 有 可 能 比 上 一 次 enable 命 令 創 建 的 軟 連 接 數 量 更 多 。 此 命 令 的 參 數 僅 能 接 受 單 元 的 名 字 , 而 不 能 接 受 單 元 文 件 的 路 徑 。 除 了 停 用 參 數 中 明 確 指 定 的 單 元 之 外 , 那 些 在 被 停 用 單 元 "[Install]" 小 節 的 Also= 選 項 中 列 出 的 所 有 單 元 , 也 同 樣 會 被 停 用 。 也 就 是 說 , 這 個 停 用 動 作 是 沿 着 Also= 選 項 不 斷 傳 遞 的 。 刪 除 完 軟 連 接 之 後 , systemd 將 會 自 動 重 新 加 載 自 身 的 配 置 (相 當 於 執 行 daemon-reload 命 令 ), 以 確 保 所 做 的 變 更 立 即 生 效 。 注 意 , 除 非 同 時 使 用 了 --now 選 項 (相 當 於 同 時 執 行 stop 命 令 ), 否 則 停 用 一 個 單 元 並 不 會 導 致 該 單 元 被 停 止 。 除 非 使 用 了 --quiet 選 項 , 否 則 此 命 令 還 會 顯 示 對 文 件 系 統 所 執 行 的 操 作 (Removed symlink ...)。 有 關 --system, --user, --runtime, --global 選 項 的 影 響 , 參 見 上 面 對 enable 命 令 的 解 釋 。
reenable NAME... 重 新 啓 用 指 定 的 單 元 或 單 元 實 例 。 這 相 當 於 先 使 用 disable 命 令 之 後 再 使 用 enable 命 令 。 通 常 用 於 按 照 單 元 文 件 中 "[Install]" 小 節 的 指 示 重 置 軟 鏈 接 名 稱 。 此 命 令 的 參 數 僅 能 接 受 單 元 的 名 字 , 而 不 能 接 受 單 元 文 件 的 路 徑 。
preset NAME... 按 照 預 設 文 件 (*.preset)的 指 示 , 重 置 指 定 單 元 的 啓 用 (enable)/停 用 (disable)狀 態 。 其 效 果 等 價 於 按 照 預 設 規 則 , 對 列 出 的 單 元 依 次 使 用 disable 或 enable 命 令 。 可 以 使 用 --preset-mode= 選 項 控 制 如 何 參 照 預 設 文 件 : 既 啓 用 又 停 用 、 僅 啓 用 、 僅 停 用 如 果 指 定 單 元 的 "[Install]" 小 節 不 包 含 必 要 的 啓 用 信 息 , 那 麼 此 命 令 將 會 悄 無 聲 息 的 忽 略 該 單 元 。 有 關 預 設 文 件 的 更 多 說 明 , 詳 見 systemd.preset(5) 手 冊 與 Preset [1] 文 檔 。
preset-all 按 照 預 設 文 件 (*.preset)的 指 示 , 重 置 全 部 單 元 的 啓 用 (enable)/停 用 (disable)狀 態 (參 見 上 文 )。 可 以 使 用 --preset-mode= 選 項 控 制 如 何 參 照 預 設 文 件 : 既 啓 用 又 停 用 、 僅 啓 用 、 僅 停 用
is-enabled NAME... 檢 查 是 否 有 至 少 一 個 指 定 的 單 元 或 單 元 實 例 已 經 被 啓 用 。 如 果 有 , 那 麼 返 回 "0", 否 則 返 回 非 零 。 除 非 使 用 了 --quiet 選 項 , 否 則 此 命 令 還 會 顯 示 指 定 的 單 元 或 單 元 實 例 的 當 前 啓 用 狀 態 :
Table 1. is-enabled 命 令 的 輸 出
mask NAME... 屏 蔽 指 定 的 單 元 或 單 元 實 例 。 也 就 是 在 單 元 目 錄 中 創 建 指 向 /dev/null 的 同 名 符 號 連 接 , 從 而 在 根 本 上 確 保 無 法 啓 動 這 些 單 元 。 這 比 disable 命 令 更 徹 底 , 可 以 通 殺 一 切 啓 動 方 法 (包 括 手 動 啓 動 ), 所 以 應 該 謹 慎 使 用 該 命 令 。 若 與 --runtime 選 項 連 用 , 則 表 示 僅 作 臨 時 性 屏 蔽 (重 啓 後 屏 蔽 將 失 效 ), 否 則 默 認 爲 永 久 性 屏 蔽 。 除 非 使 用 了 --now 選 項 (相 當 於 同 時 執 行 stop 命 令 ), 否 則 僅 屏 蔽 一 個 單 元 並 不 會 導 致 該 單 元 被 停 止 。 此 命 令 的 參 數 僅 能 接 受 單 元 的 名 字 , 而 不 能 接 受 單 元 文 件 的 路 徑 。
unmask NAME... 解 除 對 指 定 單 元 或 單 元 實 例 的 屏 蔽 , 這 是 mask 命 令 的 反 動 作 。 也 就 是 在 單 元 目 錄 中 刪 除 指 向 /dev/null 的 同 名 符 號 連 接 。 此 命 令 的 參 數 僅 能 接 受 單 元 的 名 字 , 而 不 能 接 受 單 元 文 件 的 路 徑 。
link PATH... 將 不 在 標 準 單 元 目 錄 中 的 單 元 文 件 (通 過 軟 鏈 接 )連 接 到 標 準 單 元 目 錄 中 去 。 PATH 參 數 必 須 是 單 元 文 件 的 絕 對 路 徑 。 該 命 令 的 結 果 可 以 通 過 disable 命 令 撤 消 。 通 過 該 命 令 , 可 以 讓 一 個 不 在 標 準 單 元 目 錄 中 的 單 元 文 件 , 也 可 以 像 位 於 標 準 單 元 目 錄 中 的 常 規 單 元 文 件 一 樣 , 被 start, stop ... 等 各 種 命 令 操 作 。
revert NAME... 將 指 定 的 單 元 恢 復 成 初 始 版 本 。 這 將 會 刪 除 對 指 定 單 元 的 所 有 修 改 。 例 如 , 對 於 "foo.service" 單 元 來 說 , 將 會 刪 除 所 有 foo.service.d/ 目 錄 。 如 果 指 定 的 單 元 在 /usr/lib/ 目 錄 中 還 存 在 單 元 文 件 的 初 始 版 本 , 那 麼 還 會 進 一 步 刪 除 /etc/ 與 /run/ 目 錄 中 所 有 用 來 覆 蓋 初 始 單 元 文 件 的 軟 連 接 與 自 定 義 單 元 文 件 。 如 果 指 定 的 單 元 已 經 被 屏 蔽 , 那 麼 將 會 被 解 除 屏 蔽 。 從 效 果 上 看 , 該 命 令 相 當 於 撤 銷 edit, set-property, mask 命 令 所 做 的 操 作 , 並 且 將 指 定 單 元 的 配 置 恢 復 成 軟 件 包 提 供 的 初 始 值 。
add-wants TARGET NAME..., add-requires TARGET NAME... 將 指 定 的 單 元 或 單 元 實 例 (NAME) 作 爲 "Wants=" 或 "Requires=" 依 賴 , 添 加 到 TARGET 單 元 中 。 關 於 --system, --user, --runtime, --global 選 項 的 影 響 , 參 見 前 文 對 enable 命 令 的 解 釋 。
edit NAME... 調 用 文 本 編 輯 器 (參 見 下 面 的 "環 境 變 量 "小 節 )修 改 指 定 的 單 元 或 單 元 實 例 。 若 使 用 了 --full 選 項 , 則 表 示 使 用 新 編 輯 的 單 元 文 件 完 全 取 代 原 始 單 元 文 件 , 否 則 默 認 將 新 編 輯 的 單 元 配 置 片 段 (位 於 .d/ 目 錄 )附 加 到 原 始 單 元 文 件 的 末 尾 。 如 果 使 用 了 --force 選 項 , 並 且 某 些 指 定 的 單 元 文 件 不 存 在 , 那 麼 將 會 強 制 打 開 一 個 新 的 空 單 元 文 件 以 供 編 輯 。 注 意 , 在 編 輯 過 程 中 , 編 輯 器 實 際 操 作 的 只 是 臨 時 文 件 , 僅 在 編 輯 器 正 常 退 出 時 , 臨 時 文 件 的 內 容 纔 會 被 實 際 寫 入 到 目 標 文 件 中 。 注 意 , 如 果 在 編 輯 器 退 出 時 , 臨 時 文 件 的 內 容 爲 空 , 則 表 示 取 消 編 輯 動 作 (而 不 是 寫 入 一 個 空 文 件 )。 編 輯 動 作 完 成 之 後 , systemd 將 會 自 動 重 新 加 載 自 身 的 配 置 (相 當 於 執 行 daemon-reload 命 令 ), 以 確 保 所 做 的 變 更 立 即 生 效 。 關 於 --system, --user, --runtime, --global 選 項 的 影 響 , 參 見 前 文 對 enable 命 令 的 解 釋 。 注 意 : (1)該 命 令 不 可 用 於 編 輯 遠 程 主 機 上 的 單 元 文 件 。 (2)禁 止 在 編 輯 /etc 中 的 原 始 單 元 文 件 時 使 用 --runtime 選 項 , 因 爲 /etc 中 的 單 元 文 件 優 先 級 高 於 /run 中 的 單 元 文 件 。
get-default 顯 示 默 認 的 啓 動 目 標 。 這 將 顯 示 default.target 軟 鏈 接 所 指 向 的 實 際 單 元 文 件 的 名 稱 。
set-default
NAME 設 置 默 認 的
啓 動 目 標 。 這
會 將 default.target 軟 鏈 接
指 向 NAME 單 元 。
機 器 命 令
list-machines [PATTERN...] 列 出
主 機 和 所 有 運
行 中 的 本 地 容
器 , 以 及 它 們
的 狀 態 。 如 果
給 出 了 模 式
(PATTERN)參 數 , 那 麼
僅 顯 示 容 器 名
稱 與 至 少 一 個
模 式 匹 配 的 本
地 容 器 。 任 務
(job)命 令
list-jobs [PATTERN...] 列 出 正
在 運 行 中 的 任
務 。 如 果 給 出
了 模 式 (PATTERN)參 數
, 那 麼 僅 顯 示
單 元 名 稱 與 至
少 一 個 模 式 匹
配 的 任 務 。
cancel
JOB... 據 給 定 的
任 務 ID撤 消 任 務
。 如 果 沒 有 給
出 任 務 ID, 那 麼
表 示 撤 消 所 有
尚 未 執 行 的 任
務 。 環 境 變 量
命 令
show-environment 顯 示 所 有
systemd 環 境 變 量 及
其 值 。 顯 示 格
式 遵 守 shell腳 本 語
法 , 可 以 直 接
用 於 shell腳 本 中 。
這 些 環 境 變 量
會 被 傳 遞 給 所
有 由 systemd 派 生 的
進 程 。
set-environment VARIABLE=VALUE... 設 置 指 定 的 systemd 環 境 變 量 。
unset-environment VARIABLE... 撤 消 指 定 的 systemd 環 境 變 量 。 如 果 僅 指 定 了 變 量 名 , 那 麼 表 示 無 條 件 的 撤 消 該 變 量 (無 論 其 值 是 什 麼 )。 如 果 以 VARIABLE=VALUE 格 式 同 時 給 出 了 變 量 值 , 那 麼 表 示 僅 當 VARIABLE 的 值 恰 好 等 於 VALUE 時 , 才 撤 消 VARIABLE 變 量 。
import-environment [VARIABLE...] 導 入 指 定 的 客 戶 端 環 境 變 量 。 如 果 未 指 定 任 何 參 數 , 則 表 示 導 入 全 部 客 戶 端 環 境 變 量 。
systemd
生 命 週 期 命 令
daemon-reload 重 新 加 載
systemd 守 護 進 程 的
配 置 。 具 體 是
指 : 重 新 運 行
所 有 的 生 成 器
(systemd.generator(7)), 重 新
加 載 所 有 單 元
文 件 , 重 建 整
個 依 賴 關 係 樹
。 在 重 新 加 載
過 程 中 , 所 有
由 systemd 代 爲 監 聽
的 用 戶 套 接 字
都 始 終 保 持 可
訪 問 狀 態 。 不
要 將 此 命 令 與
reload 命 令 混 淆
。
daemon-reexec
重 新 執 行 systemd 守
護 進 程 。 具 體
是 指 : 首 先 序
列 化 systemd 狀 態 ,
接 着 重 新 執 行
systemd 守 護 進 程 並
反 序 列 化 原 有
狀 態 。 此 命 令
僅 供 調 試 和 升
級 systemd 使 用 。 有
時 候 也 作 爲
daemon-reload 命 令 的 重
量 級 版 本 使 用
。 在 重 新 執 行
過 程 中 , 所 有
由 systemd 代 爲 監 聽
的 用 戶 套 接 字
都 始 終 保 持 可
訪 問 狀 態 。 系
統 命 令
is-system-running 檢 查 當 前
系 統 是 否 處 於
正 常 運 行 狀 態
(running), 若 正 常 則
返 回 "0", 否 則
返 回 大 於 零 的
正 整 數 。 所 謂
正 常 運 行 狀 態
是 指 : 系 統 完
成 了 全 部 的 啓
動 操 作 , 整 個
系 統 已 經 處 於
完 全 可 用 的 狀
態 , 特 別 是 沒
有 處 於 啓 動 /關
閉 /維 護 狀 態 ,
並 且 沒 有 任 何
單 元 處 於 失 敗
(failed)狀 態 。 除 非
使 用 了 --quiet 選 項
, 否 則 此 命 令
還 會 在 標 準 輸
出 上 顯 示 系 統
的 當 前 狀 態 ,
如 下 表 所 示
:
Table 2. is-system-running 命 令 的 輸 出
default 進 入 默 認 模 式 。 差 不 多 相 當 於 執 行 isolate default.target 命 令 。
rescue 進 入 救 援 模 式 。 差 不 多 相 當 於 執 行 isolate rescue.target 命 令 。 但 同 時 會 向 所 有 用 戶 顯 示 一 條 警 告 信 息 。
emergency 進 入 緊 急 維 修 模 式 。 差 不 多 相 當 於 執 行 isolate emergency.target 命 令 。 但 同 時 會 向 所 有 用 戶 顯 示 一 條 警 告 信 息 。
halt 關 閉 系 統 , 但 不 切 斷 電 源 。 差 不 多 相 當 於 執 行 start halt.target --job-mode=replace-irreversibly 命 令 。 但 同 時 會 向 所 有 用 戶 顯 示 一 條 警 告 信 息 。 若 僅 使 用 一 次 --force 選 項 , 則 跳 過 單 元 的 正 常 停 止 步 驟 而 直 接 殺 死 所 有 進 程 , 強 制 卸 載 所 有 文 件 系 統 (或 以 只 讀 模 式 重 新 掛 載 ), 並 立 即 關 閉 系 統 。 若 使 用 了 兩 次 --force 選 項 , 則 跳 過 殺 死 進 程 和 卸 載 文 件 系 統 的 步 驟 , 並 立 即 關 閉 系 統 , 這 會 導 致 數 據 丟 失 、 文 件 系 統 不 一 致 等 不 良 後 果 。 注 意 , 如 果 連 續 兩 次 使 用 --force 選 項 , 那 麼 所 有 操 作 都 將 由 systemctl 自 己 直 接 執 行 , 而 不 會 與 systemd 進 程 通 信 。 這 意 味 着 , 即 使 systemd 進 程 已 經 僵 死 或 者 崩 潰 , 連 續 兩 次 使 用 --force 選 項 所 指 定 的 操 作 依 然 能 夠 執 行 成 功 。
poweroff 關 閉 系 統 , 同 時 切 斷 電 源 。 差 不 多 相 當 於 執 行 start poweroff.target --job-mode=replace-irreversibly 命 令 。 但 同 時 會 向 所 有 用 戶 顯 示 一 條 警 告 信 息 。 若 僅 使 用 一 次 --force 選 項 , 則 跳 過 單 元 的 正 常 停 止 步 驟 而 直 接 殺 死 所 有 進 程 , 強 制 卸 載 所 有 文 件 系 統 (或 以 只 讀 模 式 重 新 掛 載 ), 並 立 即 關 閉 系 統 。 若 使 用 了 兩 次 --force 選 項 , 則 跳 過 殺 死 進 程 和 卸 載 文 件 系 統 的 步 驟 , 並 立 即 關 閉 系 統 , 這 會 導 致 數 據 丟 失 、 文 件 系 統 不 一 致 等 不 良 後 果 。 注 意 , 如 果 連 續 兩 次 使 用 --force 選 項 , 那 麼 所 有 操 作 都 將 由 systemctl 自 己 直 接 執 行 , 而 不 會 與 systemd 進 程 通 信 。 這 意 味 着 , 即 使 systemd 進 程 已 經 僵 死 或 者 崩 潰 , 連 續 兩 次 使 用 --force 選 項 所 指 定 的 操 作 依 然 能 夠 執 行 成 功 。
reboot [arg] 關 閉 系 統 , 然 後 重 新 啓 動 。 差 不 多 相 當 於 執 行 start reboot.target --job-mode=replace-irreversibly 命 令 。 但 同 時 會 向 所 有 用 戶 顯 示 一 條 警 告 信 息 。 若 僅 使 用 一 次 --force 選 項 , 則 跳 過 單 元 的 正 常 停 止 步 驟 而 直 接 殺 死 所 有 進 程 , 強 制 卸 載 所 有 文 件 系 統 (或 以 只 讀 模 式 重 新 掛 載 ), 並 立 即 關 閉 系 統 。 若 使 用 了 兩 次 --force 選 項 , 則 跳 過 殺 死 進 程 和 卸 載 文 件 系 統 的 步 驟 , 並 立 即 關 閉 系 統 , 這 會 導 致 數 據 丟 失 、 文 件 系 統 不 一 致 等 不 良 後 果 。 注 意 , 如 果 連 續 兩 次 使 用 --force 選 項 , 那 麼 所 有 操 作 都 將 由 systemctl 自 己 直 接 執 行 , 而 不 會 與 systemd 進 程 通 信 。 這 意 味 着 , 即 使 systemd 進 程 已 經 僵 死 或 者 崩 潰 , 連 續 兩 次 使 用 --force 選 項 所 指 定 的 操 作 依 然 能 夠 執 行 成 功 。 若 給 出 了 可 選 的 arg 參 數 , 那 麼 將 會 被 作 爲 可 選 參 數 傳 遞 給 reboot(2) 系 統 調 用 。 其 取 值 範 圍 依 賴 於 特 定 的 硬 件 平 臺 。 例 如 "recovery" 有 可 能 表 示 觸 發 系 統 恢 復 動 作 , 而 "fota" 有 可 能 表 示 “firmware over the air” 固 件 更 新 。
kexec 關 閉 系 統 , 並 通 過 內 核 的 kexec 接 口 重 新 啓 動 。 差 不 多 相 當 於 執 行 start kexec.target --job-mode=replace-irreversibly 命 令 。 但 同 時 會 向 所 有 用 戶 顯 示 一 條 警 告 信 息 。 若 使 用 了 --force 選 項 , 則 跳 過 服 務 的 正 常 關 閉 步 驟 而 直 接 殺 死 所 有 進 程 , 強 制 卸 載 所 有 文 件 系 統 (或 只 讀 掛 載 ), 並 立 即 關 閉 系 統 。
exit [EXIT_CODE] 讓 systemd 按 照 指 定 的 EXIT_CODE 退 出 碼 (必 須 是 整 數 )退 出 。 若 未 指 定 EXIT_CODE 則 退 出 碼 爲 零 。 此 命 令 相 當 於 poweroff 命 令 , 但 僅 可 用 於 用 戶 實 例 (也 就 是 以 --user 選 項 啓 動 的 實 例 )或 容 器 , 否 則 會 執 行 失 敗 。
switch-root ROOT [INIT] 將 系 統 的 根 目 錄 切 換 到 ROOT 並 執 行 新 的 INIT 程 序 (PID=1)。 此 命 令 僅 應 該 在 初 始 內 存 盤 ("initrd")中 使 用 。 如 果 未 指 定 INIT 參 數 , 那 麼 表 示 自 動 在 ROOT 目 錄 下 搜 索 systemd 二 進 制 程 序 , 並 用 作 INIT 程 序 , 同 時 "initrd"中 systemd 的 狀 態 將 會 傳 遞 給 新 的 systemd 進 程 , 從 而 允 許 在 新 系 統 中 對 原 "initrd"中 的 各 種 服 務 狀 態 進 行 內 省 。
suspend 休 眠 到 內 存 。 相 當 於 啓 動 suspend.target 目 標 。
hibernate 休 眠 到 硬 盤 。 相 當 於 啓 動 hibernate.target 目 標 。
hybrid-sleep 進 入 混 合 休 眠 模 式 。 也 就 是 同 時 休 眠 到 內 存 和 硬 盤 。 相 當 於 啓 動 hybrid-sleep.target 目 標 。 參 數 語 法 單 元 命 令 的 參 數 可 能 是 一 個 單 獨 的 單 元 名 稱 (NAME), 也 可 能 是 多 個 匹 配 模 式 (PATTERN...)。 對 於 第 一 種 情 況 , 如 果 省 略 單 元 名 稱 的 後 綴 , 那 麼 默 認 以 ".service" 爲 後 綴 , 除 非 那 個 命 令 只 能 用 於 某 種 特 定 類 型 的 單 元 。 例 如
# systemctl start sshd 等 價 於
# systemctl start sshd.service , 而
# systemctl isolate default 等 價 於
# systemctl isolate default.target , 因 爲 isolate 命 令 只 能 用 於 .target 單 元 。 注 意 , 設 備 文 件 路 徑 (絕 對 路 徑 )會 自 動 轉 化 爲 device 單 元 名 稱 , 其 他 路 徑 (絕 對 路 徑 )會 自 動 轉 化 爲 mount 單 元 名 稱 。 例 如 , 如 下 命 令
#
systemctl status /dev/sda
# systemctl status /home 分 別 等 價
於
#
systemctl status dev-sda.device
# systemctl status home.mount 對 於 第
二 種 情 況 , 可
以 在 模 式 中 使
用 shell風 格 的 匹 配
符 , 對 所 有 已
加 載 單 元 的 主
名 稱 (primary name)進 行 匹
配 。 如 果 沒 有
使 用 匹 配 符 並
且 省 略 了 單 元
后 綴 , 那 麼 處
理 方 式 與 第 一
種 情 況 完 全 相
同 。 這 就 意 味
着 : 如 果 沒 有
使 用 匹 配 符 ,
那 麼 該 模 式 就
等 價 於 一 個 單
獨 的 單 元 名 稱
(NAME), 只 表 示 一
個 明 確 的 單 元
。 如 果 使 用 了
匹 配 符 , 那 麼
該 模 式 就 可 以
匹 配 任 意 數 量
的 單 元 (包 括 零
個 )。 模 式 使 用
fnmatch(3) 語 法 , 也
就 是 可 以 使 用
shell風 格 的 "*",
"?", "[]" 匹 配 符
(詳 見 glob(7))。 模 式
將 基 於 所 有 已
加 載 單 元 的 主
名 稱 (primary name)進 行 匹
配 , 如 果 某 個
模 式 未 能 匹 配
到 任 何 單 元 ,
那 麼 將 會 被 悄
無 聲 息 的 忽 略
掉 。 例 如
# systemctl stop sshd@*.service 命 令 將 會 停 止 所 有 sshd@.service 的 實 例 單 元 。 注 意 , 單 元 的 別 名 (軟 連 接 )以 及 未 被 加 載 的 單 元 , 不 在 匹 配 範 圍 內 (也 就 是 不 作 爲 匹 配 目 標 )。 對 於 單 元 文 件 命 令 , NAME 參 數 必 須 是 單 元 名 稱 (完 整 的 全 稱 或 省 略 了 後 綴 的 簡 稱 )或 單 元 文 件 的 絕 對 路 徑 。 例 如 :
# systemctl enable foo.service 或
# systemctl link /path/to/foo.service
退 出 狀 態
返 回 值 爲 0 表 示 成 功 , 非 零 返 回 值 表 示 失 敗 代 碼 。
環 境 變 量
$SYSTEMD_EDITOR 編 輯 單 元 文 件 時 所 使 用 的 編 輯 器 , 會 覆 蓋 $EDITOR 與 $VISUAL 的 值 。 如 果 $SYSTEMD_EDITOR, $EDITOR, $VISUAL 都 不 存 在 或 無 法 使 用 , 那 麼 將 會 依 次 嘗 試 使 用 editor(1), nano(1), vim(1), vi(1) 編 輯 器 。
$SYSTEMD_PAGER 指 定 分 頁 程 序 。 僅 在 未 指 定 --no-pager 選 項 時 有 意 義 。 此 變 量 會 覆 蓋 $PAGER 的 值 。 將 此 變 量 設 爲 空 字 符 串 或 "cat" 等 價 於 使 用 --no-pager 選 項 。
$SYSTEMD_LESS 用 於 覆 蓋 默 認 傳 遞 給 less 程 序 的 命 令 行 選 項 ("FRSXMK")。
參 見
systemd(1), journalctl(1), loginctl(1), machinectl(1), systemd.unit(5), systemd.resource-control(5), systemd.special(7), wall(1), systemd.preset(5), systemd.generator(7), glob(7)
NOTES
1. |
Preset |
http://freedesktop.org/wiki/Software/systemd/Preset
跋
本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 翻 譯 人 員 : 金 步 國 金 步 國 作 品 集 : http://www.jinbuguo.com 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh