Systemd Bash 스크립트 데몬이 시간 초과를 발생시키고 실패함

Systemd Bash 스크립트 데몬이 시간 초과를 발생시키고 실패함

서비스 파일이 있습니다: Memory.service

[Unit]
Description=Memory Service

[Service]
ExecStart=%h/opt/bin/Memory --quiet
SyslogIdentifier=MemoryService

[Install]
WantedBy=default.target

10초마다 사용 가능한 메모리 비율을 계산하고 특정 수준 아래로 떨어지면 Firefox를 종료하는 Memory라는 bash 스크립트를 시작합니다.

따라서 내 bash 스크립트는 기본적으로 데몬과 같으며 종료하지 않고 백그라운드에서 실행되어야 합니다.

이 시스템 서비스를 실행하면 서비스가 항상 존재하고 시간이 초과됩니다.

$ systemctl --user start Memory
Job for Memory.service failed because a timeout was exceeded.

이 스크립트를 백그라운드에서 계속 실행하려면 어떻게 해야 합니까? 서비스 파일에 언급된 대로 시작하고 싶습니다.


참고: 터미널에서 직접 스크립트를 성공적으로 실행할 수 있었습니다.

답변1

스크립트를 실행하는 데 더 많은 시간이 걸리기 때문에 이 문제가 발생할 수 있습니다.

기본값은 90초입니다.

DefaultTimeoutStartSec=기본값 DefaultTimeoutStopSec=은 90초입니다.

구성 서비스에 추가해 보세요 TimeoutStartSec. 90초 이상 입력하는 것은 스크립트에 따라 다릅니다.

참고로:https://www.freedesktop.org/software/systemd/man/systemd.service.html

관련 정보