首页 > 解决方案 > systemd 套接字激活不断重生我的服务单元

问题描述

我有一个“gameserver.socket”和一个“gameserver.service”。

该服务在第一次连接时通过 systemd 套接字激活来激活。

我的问题如下:

如果我停止“gameserver.service”,它将立即由“gameserver.socket”生成。

为什么会这样?

“gameserver.socket”不应该回到“监听”模式,而不是“运行”模式,当另一个连接建立时,它应该启动“gameserver.service”?

标签: devopssystemd

解决方案


您的程序需要与套接字激活兼容……</p>

请注意,配置为使用套接字单元激活套接字的守护程序软件需要能够通过 systemd 的本机套接字传递接口接受来自 systemd 的套接字(有关使用的精确协议和文件描述符顺序的详细信息,请参阅 sd_listen_fds(3)传递)或通过传统的 inetd(8) 样式的套接字传递(即通过标准输入和输出传递的套接字,在服务文件中使用 StandardInput=socket)。

https://www.freedesktop.org/software/systemd/man/systemd.socket.html


推荐阅读