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