Manpages

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, --fullstatus, 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-reloadenable, disable, edit 命 令 連 用 , 表 示 在 完 成 操 作 之 後 不 重 新 加 載 systemd 守 護 進 程 的 配 置 (默 認 會 自 動 重 新 加 載 ), 相 當 於 不 自 動 執 行 daemon-reload 命 令 。

--no-ask-passwordstart 及 其 相 關 命 令 (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 命 令 連 用 時 , 表 示 同 時 還 要 啓 動 該 單 元 。 當 與 disablemask 命 令 連 用 時 , 表 示 同 時 還 要 停 止 該 單 元 。

--root=enable/disable/is-enabled 等 相 關 命 令 連 用 , 用 於 設 置 尋 找 單 元 文 件 時 的 根 目 錄 。

--runtime 當 與 enable, disable, edit 等 相 關 命 令 連 用 時 , 表 示 僅 作 臨 時 變 更 , 從 而 確 保 這 些 變 更 會 在 重 啓 後 丟 失 。 這 意 味 着 所 做 的 變 更 將 會 保 存 在 /run 目 錄 下 (立 即 生 效 但 重 啓 後 該 目 錄 的 內 容 將 全 部 丟 失 ), 而 不 是 保 存 在 /etc 目 錄 下 。 類 似 的 , 當 與 set-property 命 令 連 用 時 , 所 做 的 變 更 亦 是 臨 時 的 , 這 些 變 更 在 重 啓 後 亦 會 丟 失 。

--preset-mode=presetpreset-all 命 令 連 用 , 可 設 爲 下 列 值 之 一 : "full"(默 認 值 ) 表 示 完 全 按 照 預 設 規 則 啓 用 與 停 用 各 單 元 。 "enable-only" 表 示 僅 按 照 預 設 規 則 啓 用 各 單 元 。 "disable-only" 表 示 僅 按 照 預 設 規 則 停 用 各 單 元 。

-n, --lines=status 命 令 連 用 , 控 制 日 誌 的 顯 示 行 數 (從 最 新 的 一 行 開 始 計 算 )。 必 須 設 爲 一 個 正 整 數 , 默 認 值 是 "10"。

-o, --output=status 命 令 連 用 , 控 制 日 誌 的 顯 示 格 式 。 詳 見 journalctl(1) 手 冊 。 默 認 值 爲 "short" 。

.RE

--firmware-setupreboot 命 令 連 用 , 要 求 系 統 主 板 的 UEFI固 件 重 啓 到 安 裝 模 式 。 僅 支 持 某 些 以 UEFI模 式 啓 動 的 主 板 。

--plainlist-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=NAMEjournalctl --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... 停 用 指 定 的 單 元 或 單 元 實 例 (多 數 時 候 相 當 於 撤 銷 這 些 單 元 的 "開 機 時 自 動 啓 動 "以 及 "插 入 某 個 硬 件 時 自 動 啓 動 ")。 這 將 會 從 單 元 目 錄 中 刪 除 所 有 指 向 單 元 自 身 及 所 有 支 持 單 元 的 軟 鏈 接 。 這 相 當 於 撤 銷 enablelink 命 令 所 做 的 操 作 。 注 意 , 此 命 令 會 刪 除 所 有 指 向 單 元 自 身 及 所 有 支 持 單 元 的 軟 鏈 接 , 包 括 手 動 創 建 的 軟 連 接 以 及 通 過 enablelink 命 令 創 建 的 軟 連 接 。 注 意 , 雖 然 disableenable 是 一 對 相 反 的 命 令 , 但 是 它 們 的 效 果 並 不 一 定 總 是 完 全 對 稱 的 。 因 爲 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)狀 態 。 其 效 果 等 價 於 按 照 預 設 規 則 , 對 列 出 的 單 元 依 次 使 用 disableenable 命 令 。 可 以 使 用 --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