SYSTEMD-NOTIFY
Section: systemd-notify (1)
Updated:
查看本页索引
返回目录
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
Index
- NAME
-
- SYNOPSIS
-
- 描述
-
- 选项
-
- 退出状态
-
- 例子
-
- 参见
-
-
This document was created by
man2html,
using the manual pages.
Time: 03:15:41 GMT, July 01, 2024