无外部显示的 Systemd 服务 - 进程引发异常并退出

无外部显示的 Systemd 服务 - 进程引发异常并退出

我正在尝试将应用程序作为系统服务运行。服务文件示例如下。

[Unit]
Description = Custom APP 
Wants = network.target
After = syslog.target network-online.target graphical.target
StartLimitIntervalSec = 0

[Service]
User = 
Type = simple
Environment = 
WorkingDirectory = 
ExecStart = 
Restart = always
RestartSec = 60
KillMode = control-group

[Install]
WantedBy = graphical.target

我通过 ssh 运行该服务。操作系统是ubuntu 18.04。如果外部显示器连接到设备,并且在所有情况下通过 GUI 登录一次机器后,我在设备上进行 ssh,则服务和流程将按预期工作。

但是当我重新启动设备并删除外部显示器并仅通过 ssh 登录(即没有基于 GUI 的登录)时,就会发生这些事情

  • 如果我从命令行将应用程序作为一个简单的进程运行,它会按预期工作。
  • 如果我尝试将应用程序作为 systemd 服务运行,它会在引发异常后退出。
  • 如果我只通过 GUI 登录一次并且不重新启动设备,那么即使我移除外部显示器,该服务也可以正常工作。

我不知道为什么会发生这种情况。

编辑

  • 引发的异常是 - 在没有活动异常的情况下调用终止
  • 它是一个基于 C++ gstreamer 的流应用程序。

相关内容