Спать не работает в сервисе
Я кладу ExecStartPre=/bin/sleep 60
в единичный файл (сервис) в Ubuntu 18.04
[Unit]
Description=Berkeley Open Infrastructure Network Computing Client
Documentation=man:boinc(1)
After=network-online.target
[Service]
ProtectHome=true
Type=simple
Nice=10
User=boinc
WorkingDirectory=/var/lib/boinc
ExecStartPre=/bin/sleep 60
ExecStart=/usr/bin/boinc
ExecStop=/usr/bin/boinccmd --quit
ExecReload=/usr/bin/boinccmd --read_cc_config
ExecStopPost=/bin/rm -f lockfile
IOSchedulingClass=idle
[Install]
WantedBy=multi-user.target
Я также проверил, что сон был в /bin
jstateson@rx560:/bin$ ls -l sleep
-rwxr-xr-x 1 root root 35000 Jan 18 2018 sleep
jstateson@rx560:/bin$
Но это не сработало. Я нашел следующие ошибки в системном журнале
May 20 07:30:16 rx560 systemd[1]: boinc-client.service: Start-pre operation timed out. Terminating.
May 20 07:30:16 rx560 systemd[1]: boinc-client.service: Failed with result 'timeout'.
May 20 07:30:16 rx560 systemd[1]: Failed to start Berkeley Open Infrastructure Network Computing Client.
1 ответ
В вашем [service]
раздел добавить эту строку:
TimeoutSec=infinity
Для получения дополнительной информации: Как изменить значение времени ожидания службы systemd?
Тем не менее, вы намеренно вкладываете 60-секундную задержку в свой стартап, и, возможно, есть лучший способ...