
Если я запланирую выключение несколько раз, каково будет поведение? Например:
shutdown +20
shutdown +25
Отменяет ли вторая команда выключения первую?
А что если я отменю выключение, используя shutdown -c? Например
shutdown +20
shutdown +25
shutdown -c
Будут ли отменены все графики отключений или только последний?
решение1
Если вы используете команду «shutdown», предоставленнуюсистемный:
Имеется один централизованно управляемый таймер выключения (управляетсяsystemd-logind(service). Попытка запланировать выключение несколько раз приведет к автоматической отмене и замене времени ожидания и действия новыми параметрами.
shutdown +XX
вызывает функцию ScheduleShutdown() из systemd-logind, которая устанавливает или настраивает таймер.shutdown -c
вызывает функцию CancelScheduledShutdown() из systemd-logind, которая отключает таймер.
Если вы используетенеисправностькоманда из Linux sysvinit:
Программа использует pid-файл, чтобы убедиться, что выключение может быть запланировано только один раз. Если вы попытаетесь запустить его дважды, вы должны получить сообщение "shutdown: already running". (Если вы случайно не удалили pid-файл, который он использует для отслеживания событий.)
shutdown +XX
отказывается запускать новый процесс «очередного завершения работы», если обнаруживает, что другой процесс уже запущен в фоновом режиме (согласно PID, хранящемуся в /var/run/shutdown.pid).shutdown -c
завершает ровно один процесс «очередного завершения» (PID которого считывается из shutdown.pid), предполагая, что вы не должны были запустить больше одного.