Provided by: manpages-zh_1.6.3.3-2_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