Manpages

NAME

systemd-notify - 向 systemd 報 告 服 務 狀 態 的 變 化

SYNOPSIS

systemd-notify [OPTIONS...] [VARIABLE=VALUE...]

描 述

systemd-notify 可 用 於 在 守 護 進 程 腳 本 中 向 systemd 報 告 進 程 狀 態 的 變 化 。 可 用 於 發 送 任 意 信 息 , 其 中 最 重 要 的 是 報 告 "啓 動 已 完 成 "的 消 息 。 此 工 具 基 本 上 就 是 對 sd_notify() 的 簡 單 包 裝 , 以 便 於 在 腳 本 中 使 用 。 詳 見 sd_notify(3) 手 冊 。 注 意 , 在 報 告 狀 態 更 新 的 同 時 , 還 可 以 傳 遞 一 系 列 環 境 變 量 。 注 意 , 除 非 在 調 用 此 命 令 的 服 務 單 元 中 設 置 了 NotifyAccess=all , 否 則 systemd 將 會 拒 絕 接 受 狀 態 更 新 的 消 息 。

選 項

能 夠 識 別 的 命 令 行 選 項 如 下 :

--ready 向 systemd 報 告 "啓 動 已 完 成 "的 消 息 。 這 等 價 於 systemd-notify READY=1 。 詳 見 sd_notify(3) 手 冊 。

--pid= 向 systemd 報 告 主 守 護 進 程 的 PID 。 如 果 PID 參 數 被 省 略 , 將 使 用 調 用 systemd-notify 的 進 程 的 PID 。 這 等 價 於 systemd-notify MAINPID=$PID 。 詳 見 sd_notify(3) 手 冊 。

--status= 向 systemd 發 送 一 個 任 意 內 容 的 字 符 串 消 息 。 這 等 價 於 systemd-notify STATUS=... 。 詳 見 sd_notify(3) 手 冊 。

--booted 用 於 檢 查 系 統 的 init 進 程 是 否 爲 systemd , 返 回 0 表 示 系 統 的 init 進 程 是 systemd , 返 回 非 零 表 示 其 他 。 此 選 項 並 不 發 送 任 何 消 息 , 因 此 與 其 他 選 項 沒 有 任 何 關 係 。 詳 見 sd_booted(3) 手 冊 。 另 一 種 檢 查 方 法 是 systemctl(1)is-system-running 命 令 。 若 返 回 "offline" 則 表 示 系 統 的 init 進 程 不 是 systemd

-h, --help 顯 示 簡 短 的 幫 助 信 息 並 退 出 。

--version 顯 示 簡 短 的 版 本 信 息 並 退 出 。

退 出 狀 態

返 回 值 爲 0 表 示 成 功 , 非 零 返 回 值 表 示 失 敗 代 碼 。

例 子

Example 1. 啓 動 通 知 與 狀 態 更 新 一 個 簡 單 的 守 護 進 程 腳 本 , 在 創 建 好 通 信 管 道 之 後 , 向 systemd 報 告 "啓 動 已 完 成 "的 消 息 。 在 運 行 時 , 向 systemd 報 告 更 多 的 狀 態 消 息 :

#!/bin/bash

mkfifo /tmp/waldo
systemd-notify --ready --status="Waiting for data..."

while : ; do
read a < /tmp/waldo
systemd-notify --status="Processing $a"

# Do something with $a ...

systemd-notify --status="Waiting for data..."
done

參 見

systemd(1), systemctl(1), systemd.unit(5), sd_notify(3), sd_booted(3)

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 翻 譯 人 員 : 金 步 國 金 步 國 作 品 集 : http://www.jinbuguo.com 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh