我的应用程序可以通过systemd套接字激活或(最终用户选择)直接作为服务启动。在前一种情况下,我喜欢对我的应用程序进行编码,使其在给定的空闲时间后关闭(并且一旦收到新连接,将由systemd重新启动);在后一种情况下,它不应该关闭。
我的应用程序如何区分它是由systemd通过套接字激活而不是'systemctl start myapplication'启动的?
systemd日志没有提示。是否有可能区分这两个启动案例?
铝_
PS:如果重要:我的应用程序是用C ++ / Qt编写的,并遵循systemd'notify'方案。
答案 0 :(得分:0)
在后一种情况下,它必须侦听TCP套接字。因此,如果您可以在该套接字上收听,systemd
不是,那么您就不会被systemd
启动。