외부 디스플레이가 없는 시스템 서비스 - 프로세스에서 예외가 발생하고 종료됩니다.

외부 디스플레이가 없는 시스템 서비스 - 프로세스에서 예외가 발생하고 종료됩니다.

응용 프로그램을 시스템 서비스로 실행하려고 합니다. 서비스 파일의 예는 다음과 같습니다.

[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를 통해 서비스를 실행합니다. 운영체제는 우분투 18.04 입니다. 외부 모니터가 장치에 연결되어 있고 모든 경우에 GUI를 통해 시스템에 한 번 로그인한 후 장치에서 ssh를 실행하면 서비스와 프로세스가 예상대로 작동합니다.

하지만 장치를 재부팅하고 외부 모니터를 제거하고 SSH를 통해서만 로그인하면(예: GUI 기반 로그인 없음) 이런 일이 발생합니다.

  • 명령줄에서 간단한 프로세스로 애플리케이션을 실행하면 예상대로 작동합니다.
  • 응용 프로그램을 시스템 서비스로 실행하려고 하면 예외가 발생한 후 종료됩니다.
  • GUI를 통해 한 번만 로그인하고 장치를 재부팅하지 않으면 외부 모니터를 제거해도 서비스가 제대로 작동합니다.

왜 이런 일이 발생하는지 모르겠습니다.

편집하다

  • 던져진 예외는 - 활성화된 예외 없이 Terminate가 호출되는 것입니다.
  • C++ gstreamer를 기반으로 한 스트리밍 애플리케이션입니다.

관련 정보