Я ожидаю, что find
будет работать как при одном вызове. Если промежуточные файлы не создаются, я бы предложил добавить префикс bash (или другой оболочки), чтобы заставить его запускаться во вспомогательной оболочке. Или вы можете попробовать следующее:
for i in *.gpl
do
( gnuplot "$i" )
done
Скобки заставят подчиненную оболочку, но я не думаю, что это должно быть обязательным.
Самый простой:(и работает на Debian/Ubuntu)
date --date @$(head -1 /run/systemd/shutdown/scheduled |cut -c6-15)
Я столкнулся с тем же вопросом и нашел другой способ проверить план выключения.
Когда вы зададите план выключения, стена отправит сообщение всем, кто войдет в систему с установленным для них разрешением на сообщение. При каждом вызове стены в системный журнал будет записываться уведомление. Для поиска в системном журнале вы можете запустить команду 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)...
# 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.
Для более новых версий дистрибутивов Linux вам может потребоваться:
busctl get-property org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager ScheduledShutdown
Изменился метод завершения работы
Примеряли :-Растяжка Debian 9.6 -Ubuntu 18.04.1 LTS
Ссылки
На машине с Ubuntu 18.04 завершением работы управляет systemd
. На моей машине я включил автоматическую перезагрузку через автоматические обновления :
$ grep Automatic-Reboot /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
Запланированное время автоматической перезагрузки сохраняется в /run/systemd/shutdown/scheduled
.
$ cat /run/systemd/shutdown/scheduled
USEC=1563976800000000
WARN_WALL=1
MODE=reboot
Вы можете преобразовать его в удобочитаемое время с помощью следующей команды:
$ date -d "@$( awk -F '=' '/USEC/{ $2=substr($2,1,10); print $2 }' /run/systemd/shutdown/scheduled )"
Thu Jul 25 02:00:00 NZST 2019