Множественное расписание выключения Linux и его поведение

Множественное расписание выключения Linux и его поведение

Если я запланирую выключение несколько раз, каково будет поведение? Например:

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), предполагая, что вы не должны были запустить больше одного.

Связанный контент