TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #759 2.21K
🌀 Как работает перезагрузка linux в эпоху systemd

Раньше в linux было несколько классических способов перезагрузки системы: shutdown -r, reboot, halt. Сейчас вся эта разница по сути исчезла: в современных дистрибутивах всем управляет systemd.

Если посмотреть внимательнее, окажется, что привычные команды - это всего лишь обертки:


whereis reboot
ls -la /usr/sbin/reboot


и аналогично для shutdown. В итоге обе команды являются символьными ссылками на /bin/systemctl. То есть не важно, что именно вы набрали - reboot, shutdown -r или systemctl reboot - запрос все равно уйдет в systemd.

Иногда можно встретить рекомендации перезагружать сервер именно так:


systemctl reboot


Но на практике обычный ребут делает ровно то же самое, просто быстрее набирается.

Возникает логичный вопрос: как systemctl понимает, что от него хотят - перезагрузку или выключение, если бинарник один и тот же? Все просто: при запуске программа знает имя, под которым ее вызвали. Это стандартный механизм execve. Например, в shell имя команды доступно через $0. Внутри systemctl есть проверка, которая определяет, был ли вызов через reboot, shutdown или напрямую.

Кроме привычных команд, перезагрузку можно инициировать и через цели systemd:


systemctl start reboot.target
systemctl start ctrl-alt-del.target


По сути, эффект будет тем же самым, просто разными путями.

И важный момент напоследок. Все эти способы все равно требуют запуска бинарника с диска. Если файловая система повреждена и systemctl не может выполниться, система может зависнуть и не перезагрузиться. В таком случае остаётся крайний вариант - обратиться напрямую к ядру:


echo b > /proc/sysrq-trigger


Это эквивалент жесткого нажатия кнопки reset: без graceful shutdown, но зато работает даже в самых тяжелых ситуациях.

#systemd #reboot

🧑‍💻 NetworkAdmin
  • 🔥 13
  • 👍 5
More from @networkadminru
  1. Sep 30, 2026🖥 Get-ADUser: полезные примеры для работы с пользователями Active Directory Get-ADUser -…
  2. Sep 30, 2026👁‍🗨 Хочешь разбираться в информационной безопасности, а не просто копировать чужие коман…
  3. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  4. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  5. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  6. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →