Systemd
systemd:如何檢查延遲關機的預定時間?
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
Status
是Shutting down at Tue 2015-09-15 09:18:11 UTC (poweroff)...