SYSTEMD-SOCKET-ACTIVATE(1)

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_LOCATION
    與 systemd(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