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