systemd 장치가 시작된 후 시스템을 다시 시작하는 방법은 무엇입니까?

systemd 장치가 시작된 후 시스템을 다시 시작하는 방법은 무엇입니까?

Ubuntu 16 Xenial(systemd 버전 229)에는 다음과 같은 systemd 서비스가 있습니다.

[Unit]
Description=Example unit
Documentation=man:apt(8)
ConditionACPower=true
After=apt-daily.service

[Service]
Type=oneshot
ExecStart=echo foobar
KillMode=process
TimeoutStopSec=900

이제 시작 성공 여부에 관계없이 위 서비스가 시작된 후 OS를 다시 시작하고 싶습니다.

어떻게 해야 하나요?

편집하다:

다시 시작 서비스 파일을 만들었습니다./etc/systemd/system/my-reboot.service

[Unit]
Description=Reboot
RefuseManualStart=true

[Service]
Type=simple
ExecStartPre=/bin/sleep 30
ExecStart=/sbin/reboot

OP 서비스 "예제 단위"에 추가되었습니다.

[Unit]
Wants=my-reboot.service
Before=my-reboot.service

첫 번째 테스트에서는 이것이 작동했습니다. "예제 장치"가 시작된 지 30초 후에 시스템이 재부팅되었습니다. 이것이 좋은 접근 방식입니까?

관련 정보