Provided by: manpages-zh_1.6.4.0-1_all bug

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