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

NAME

       systemd-socket-activate - 測試基於套接字啟動的守護程序

SYNOPSIS

       systemd-socket-activate [OPTIONS...] daemon [OPTIONS...]

描述

       systemd-socket-activate 用於測試啟動基於套接字啟動的服務程序。 還可用於針對單個連線啟動單
       獨的服務程序例項。

       可以透過 daemon 之後的 [OPTIONS...]  給要啟動的服務程序傳遞命令列選項。

       如果使用了 --inetd 選項,那麼 socket 檔案描述符將被用作被呼叫程序的標準輸入與標準輸出。 否
       則,將繼承現有的標準輸入與標準輸出,而 socket 將被作為3號或更高的檔案描述符。 透過
       $LISTEN_FDS 傳遞給 systemd-socket-activate 的 socket 將會被直接傳遞給被呼叫的程序, 透過
       --listen= 指定的其他 socket 將會使用連續描述符(consecutive descriptor)。
       systemd-socket-activate 預設在流式套接字(stream socket)上監聽, 但是可以使用 --datagram 選
       項改為在資料報套接字(datagram socket)上監聽, 或者使用 --seqpacket 選項改為在順序包套接
       字(sequential packet socket)上監聽。

選項

       -l address, --listen=address
           在指定的 address 上監聽。 接受一個類似 "2000"(埠) 或 "127.0.0.1:2001"(地址:埠) 這樣的
           字串。

       -a, --accept
           為每個連線啟動一個服務程序例項,並傳遞連線套接字。

       -d, --datagram
           在資料報套接字(SOCK_DGRAM)上監聽,而不是預設的流式套接字(SOCK_STREAM)。 不能與
           --seqpacket 同時使用。

       --seqpacket
           在順序包套接字(SOCK_SEQPACKET)上監聽,而不是預設的流式套接字(SOCK_STREAM)。 不能與
           --datagram 同時使用。

       --inetd
           使用 inetd 協議傳遞檔案描述符,也就是作為標準輸入與標準輸出, 而不是新式的使用
           $LISTEN_FDS 變數來傳遞檔案描述符。

       -E VAR[=VALUE], --setenv=VAR[=VALUE]
           向被呼叫的程序傳遞環境變數。 如果在 VAR 後面 緊跟著 "=" 符號, 那麼會將其視為"變
           數=值"的結構。 否則表示將 systemd-socket-activate 所擁有的同名變數傳遞過去。

       --fdname=NAME[:NAME...]
           指定要傳遞的檔案描述符名稱。 這等價於在單元檔案中設定 FileDescriptorName= 並且啟用
           sd_listen_fds_with_names(3) 。 可以多次使用此選項以指定多個描述符,也可以在同一個選項
           中使用冒號分隔多個描述符。 如果給出的名字多於檔案描述符的個數,那麼多出的名字將會被忽
           略。 如果給出的名字少於檔案描述符的個數,那麼多出的檔案描述符將被視為未命名的。

       -h, --help
           顯示簡短的幫助資訊並退出。

       --version
           顯示簡短的版本資訊並退出。

環境變數

       $LISTEN_FDS, $LISTEN_PID, $LISTEN_FDNAMES
           參見 sd_listen_fds(3) 手冊。

       $SYSTEMD_LOG_TARGET, $SYSTEMD_LOG_LEVEL, $SYSTEMD_LOG_COLOR, $SYSTEMD_LOG_LOCATIONsystemd(1) 中的含義相同。

例子

       Example 1.  2000 埠上執行一個回顯服務。

           $ systemd-socket-activate -l 2000 --inetd -a cat

       Example 2. 執行一個基於套接字啟動的 systemd-journal-gatewayd(8) 例項

           $ systemd-socket-activate -l 19531 /usr/lib/systemd/systemd-journal-gatewayd

參見

       systemd(1), systemd.socket(5), systemd.service(5), sd_listen_fds(3),
       sd_listen_fds_with_names(3), cat(1)

       本頁面中文版由中文 man 手冊頁計劃提供。

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