'\" t .TH "SYSTEMD\-SOCKET\-ACTIVATE" "1" "" "systemd 231" "systemd-socket-activate" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" systemd-socket-activate \- 测试基于套接字启动的守护进程 .SH "SYNOPSIS" .HP \w'\fBsystemd\-socket\-activate\fR\ 'u \fBsystemd\-socket\-activate\fR [OPTIONS...] \fIdaemon\fR [OPTIONS...] .SH "描述" .PP \fBsystemd\-socket\-activate\fR 用于测试启动基于套接字启动的服务进程。 还可用于针对单个连接启动单独的服务进程实例。 .PP 可以通过 \fIdaemon\fR 之后的 [OPTIONS...] 给要启动的服务进程传递命令行选项。 .PP 如果使用了 \fB\-\-inetd\fR 选项,那么 socket 文件描述符将被用作被调用进程的标准输入与标准输出。 否则,将继承现有的标准输入与标准输出,而 socket 将被作为3号或更高的文件描述符。 通过 \fI$LISTEN_FDS\fR 传递给 \fBsystemd\-socket\-activate\fR 的 socket 将会被直接传递给被调用的进程, 通过 \fB\-\-listen=\fR 指定的其他 socket 将会使用连续描述符(consecutive descriptor)。 \fBsystemd\-socket\-activate\fR 默认在流式套接字(stream socket)上监听, 但是可以使用 \fB\-\-datagram\fR 选项改为在数据报套接字(datagram socket)上监听, 或者使用 \fB\-\-seqpacket\fR 选项改为在顺序包套接字(sequential packet socket)上监听。 .SH "选项" .PP \fB\-l \fR\fB\fIaddress\fR\fR, \fB\-\-listen=\fR\fB\fIaddress\fR\fR .RS 4 在指定的 \fIaddress\fR 上监听。 接受一个类似 "2000"(端口) 或 "127\&.0\&.0\&.1:2001"(地址:端口) 这样的字符串。 .RE .PP \fB\-a\fR, \fB\-\-accept\fR .RS 4 为每个连接启动一个服务进程实例,并传递连接套接字。 .RE .PP \fB\-d\fR, \fB\-\-datagram\fR .RS 4 在数据报套接字(\fBSOCK_DGRAM\fR)上监听,而不是默认的流式套接字(\fBSOCK_STREAM\fR)。 不能与 \fB\-\-seqpacket\fR 同时使用。 .RE .PP \fB\-\-seqpacket\fR .RS 4 在顺序包套接字(\fBSOCK_SEQPACKET\fR)上监听,而不是默认的流式套接字(\fBSOCK_STREAM\fR)。 不能与 \fB\-\-datagram\fR 同时使用。 .RE .PP \fB\-\-inetd\fR .RS 4 使用 inetd 协议传递文件描述符,也就是作为标准输入与标准输出, 而不是新式的使用 \fI$LISTEN_FDS\fR 变量来传递文件描述符。 .RE .PP \fB\-E \fR\fB\fIVAR\fR\fR\fB[=\fIVALUE\fR]\fR, \fB\-\-setenv=\fR\fB\fIVAR\fR\fR\fB[=\fIVALUE\fR]\fR .RS 4 向被调用的进程传递环境变量。 如果在 \fIVAR\fR 后面 紧跟着 "=" 符号, 那么会将其视为"变量=值"的结构。 否则表示将 \fBsystemd\-socket\-activate\fR 所拥有的同名变量传递过去。 .RE .PP \fB\-\-fdname=\fR\fINAME\fR[:\fINAME\fR\&.\&.\&.] .RS 4 指定要传递的文件描述符名称。 这等价于在单元文件中设置 \fIFileDescriptorName=\fR 并且启用 \fBsd_listen_fds_with_names\fR(3) 。 可以多次使用此选项以指定多个描述符,也可以在同一个选项中使用冒号分隔多个描述符。 如果给出的名字多于文件描述符的个数,那么多出的名字将会被忽略。 如果给出的名字少于文件描述符的个数,那么多出的文件描述符将被视为未命名的。 .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 显示简短的帮助信息并退出。 .RE .PP \fB\-\-version\fR .RS 4 显示简短的版本信息并退出。 .RE .SH "环境变量" .PP \fI$LISTEN_FDS\fR, \fI$LISTEN_PID\fR, \fI$LISTEN_FDNAMES\fR .RS 4 参见 \fBsd_listen_fds\fR(3) 手册。 .RE .PP \fI$SYSTEMD_LOG_TARGET\fR, \fI$SYSTEMD_LOG_LEVEL\fR, \fI$SYSTEMD_LOG_COLOR\fR, \fI$SYSTEMD_LOG_LOCATION\fR .RS 4 与 \fBsystemd\fR(1) 中的含义相同。 .RE .SH "例子" .PP \fBExample\ \&1.\ \&在 2000 端口上运行一个回显服务。\fR .sp .if n \{\ .RS 4 .\} .nf $ systemd\-socket\-activate \-l 2000 \-\-inetd \-a cat .fi .if n \{\ .RE .\} .PP \fBExample\ \&2.\ \&运行一个基于套接字启动的 systemd-journal-gatewayd(8) 实例\fR .sp .if n \{\ .RS 4 .\} .nf $ systemd\-socket\-activate \-l 19531 /usr/lib/systemd/systemd\-journal\-gatewayd .fi .if n \{\ .RE .\} .SH "参见" .PP \fBsystemd\fR(1), \fBsystemd.socket\fR(5), \fBsystemd.service\fR(5), \fBsd_listen_fds\fR(3), \fBsd_listen_fds_with_names\fR(3), \fBcat\fR(1) .SH "跋" .br 本页面中文版由中文 man 手册页计划提供。 .PP 翻译人员:金步国 .br 金步国作品集:http://www.jinbuguo.com .br .br 中文 man 手册页计划:\fBhttps://github.com/man-pages-zh/manpages-zh\fR