Итак, у меня есть сервер Ubuntu, на котором есть два сеанса tmux, работающих в фоновом режиме, и несколько других приложений в фоновом режиме. Есть ли способ создать скрипт, который бы изящно завершил процесс на tmux (например, Cntrl C), отключил все службы и перезагрузил?
Моя машина имеет тенденцию переставать подключаться к Интернету через несколько дней, и я хотел, чтобы система автоматически перезагрузилась изящно. У меня все службы перезапускаются, а мультиплексор перезапускается после перезагрузки.
Мне просто нужно придумать, как заставить этот компьютер нормально перезагрузиться.
Пожалуйста, дайте любую информацию, которая может вам помочь. Пожалуйста, имейте в виду, что я новичок, но понимаю основы.
Заранее спасибо.
решение1
На самом деле shutdown
и его эквивалентыявляютсяизящно. Сначала они отправляют процессам сигнал SIGTERM (15), и только если они не отвечают в течение определенного времени, они затем отправляют сигнал SIGKILL (9).
SIGTERM — это сигнал, который отправляется при нажатии CTRL+ C. Приложения могут перехватывать этот сигнал и корректно завершать работу (например, очищать файлы, фиксировать/откатывать транзакции и т. д.). Все разумные приложения ведут себя таким образом.
Если процессы не останавливаются через некоторое время, то им отправляется SIGKILL. SIGKILL — это своего рода кувалда. Приложения не могут перехватить этот сигнал — это как отключить питание.
Так что да, shutdown
или reboot
обычно безопасно и изящно.
Ссылка: