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