Systemd

systemd:如何檢查延遲關機的預定時間?

  • March 16, 2022

shutdown -h TIME/+DELAY我有時喜歡用。然而,自從切換到 systemd(在 Ubuntu 上)後,情況似乎發生了很大變化。

除了先前的關閉命令不再阻止執行新命令這一事實之外,我不知道如何檢查目前關閉程序的計劃關閉時間。

我以前只是跑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分鐘。

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

USEC 是一個具有微秒精度的 unix 紀元時間戳,因此:

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

Systemd版本是232-25+deb9u4在 Debian Stretch 上執行。

所有系統版本

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)...

引用自:https://unix.stackexchange.com/questions/229745