systemd: 지연된 종료 예정 시간을 확인하는 방법은 무엇입니까?

systemd: 지연된 종료 예정 시간을 확인하는 방법은 무엇입니까?

shutdown -h TIME/+DELAY가끔 이용하면 좋을 것 같아요. 하지만 (Ubuntu에서) systemd로 전환한 이후로 상황이 많이 변한 것 같습니다.

이전 종료 명령이 더 이상 새 명령 실행을 방해하지 않는다는 사실 외에는 현재 종료 프로세스의 예정된 종료 시간을 확인하는 방법을 모르겠습니다.

저는 그냥 들어가서 ps aux | grep shutdown마감 시간이 언제인지 확인하곤 했어요.

이제 systemd를 사용하면 다음과 같은 내용이 표시됩니다.

root      5863  0.0  0.0  13300  1988 ?        Ss   09:04   0:00 /lib/systemd/systemd-shutdownd

해당 프로세스의 예정된 종료 시간을 어떻게 확인할 수 있나요?

그렇게 해봤는데 shutdown -k그냥 담벼락 메시지만 쓰는 게 아니라 마감 시간도 지금 +1분으로 변경하는 것 같아요.

답변1

# cat /run/systemd/shutdown/scheduled
USEC=1537242600000000
WARN_WALL=1
MODE=poweroff

USEC는 마이크로초 정밀도의 unix epoch 타임스탬프이므로 다음과 같습니다.

if [ -f /run/systemd/shutdown/scheduled ]; then
  perl -wne 'm/^USEC=(\d+)\d{6}$/ and printf("Shutting down at: %s\n", scalar localtime $1)' < /run/systemd/shutdown/scheduled
fi

다음과 유사한 내용이 나타납니다.

Shutting down at: Tue Sep 18 03:50:00 2018

체계버전은232-25+deb9u4데비안 스트레치에서 실행됩니다.

답변2

제일 쉬운:(Debian/Ubuntu 및 RedHat에서도 작동)

date --date @$(head -1 /run/systemd/shutdown/scheduled |cut -c6-15)

답변3

모든 시스템 버전

org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager ScheduledShutdownD-Bus 인터페이스 사용 :

USECS=$(busctl get-property org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager ScheduledShutdown | cut -d ' ' -f 3)
SECS=$((USECS / 1000000))
date --date=@$SECS

systemd 버전만 해당 < 2015년 5월

# systemctl status systemd-shutdownd.service

다음과 같은 내용이 표시됩니다.

● systemd-shutdownd.service - Delayed Shutdown Service
Loaded: loaded (/lib/systemd/system/systemd-shutdownd.service; static; vendor preset: enabled)
Active: active (running) since Tue 2015-09-15 09:13:11 UTC; 12s ago
Docs: man:systemd-shutdownd.service(8)
Main PID: 965 (systemd-shutdow)
Status: "Shutting down at Tue 2015-09-15 09:18:11 UTC (poweroff)..."
CGroup: /system.slice/systemd-shutdownd.service
       └─965 /lib/systemd/systemd-shutdownd

StatusShutting down at Tue 2015-09-15 09:18:11 UTC (poweroff)...

답변4

나는 같은 문제가 있었고 종료 계획을 확인하는 다른 방법을 찾았습니다.

종료 일정을 설정하면로그인되어 있고 메시지 권한이 예로 설정된 모든 사람에게 메시지가 전송됩니다. 담벼락이 호출될 때마다 알림이 작성됩니다.시스템 로그. 검색하기시스템 로그journalctl -u systemd-shutdownd, 이 옵션과 함께 명령을 실행하여 -u로그를 단위별로 필터링할 수 있습니다.

실행하면 journalctl -u systemd-shutdownd다음과 같은 종료 세부 정보가 표시됩니다.

[root@dev log]# journalctl -u systemd-shutdownd
-- Logs begin at Mon 2017-06-12 09:39:34 CST, end at Mon 2017-06-12 14:05:04 CST. --
Jun 12 09:39:50 dev.local systemd[1]: Started Delayed Shutdown Service.
Jun 12 09:39:50 dev.local systemd[1]: Starting Delayed Shutdown Service...
Jun 12 09:39:50 dev.local systemd-shutdownd[1249]: Shutting down at Mon 2017-06-12 21:00:00 CST (poweroff)...
Jun 12 09:55:59 dev.local systemd-shutdownd[1249]: Shutdown canceled.
Jun 12 09:56:07 dev.local systemd[1]: Started Delayed Shutdown Service.
Jun 12 09:56:07 dev.local systemd[1]: Starting Delayed Shutdown Service...
Jun 12 09:56:07 dev.local systemd-shutdownd[2885]: Shutdown canceled.
Jun 12 11:54:15 dev.local systemd[1]: Started Delayed Shutdown Service.
Jun 12 11:54:15 dev.local systemd[1]: Starting Delayed Shutdown Service...
Jun 12 11:54:15 dev.local systemd-shutdownd[3178]: Shutting down at Mon 2017-06-12 20:00:00 CST (poweroff)...

관련 정보