【发布时间】:2021-10-21 16:55:07
【问题描述】:
当我创建<service>.socket systemd 文件时,我可以包含以下条目:
ListenDatagram=/run/<service>/listen.sock
ListenFIFO=/run/<service>/IPC.FIFO
等等
systemd.socket documentation 表示这些套接字作为文件描述符传递给我的应用程序。我没有看到的是:这些是哪些文件描述符?那会是3、4、5……等等吗?还是替换 0(输入)和 1(输出)?
换句话说,在我的软件中,我怎么知道什么是什么?
请注意,我假设我的 <service>.socket 将使用:
Accept=no
因为Accept=yes 明确表示它像inetd 一样工作,这意味着stdin 和stdout 按预期接收输入和输出套接字(对于TCP 流,这将是相同的套接字重复)。
【问题讨论】: