Как удостовериться, что sshd является последним сервисом, который будет остановлен во время завершения работы?

Я заметил что когда я проблема a reboot команда, мое соединение SSH сразу закрывается на CentOS 7. Это не означает, что сервер перезагрузил, поскольку я могу все еще проверить с помощью ping-запросов его.

Кажется, что systemd уничтожает sshd слишком рано. Иногда сервис застрянет, закрываясь или просто будет медленным, и я не могу войти в систему больше для проверки что не так даже при том, что сервер возрос.

Существует ли способ сказать systemd только уничтожать sshd после того, как весь другой сервис снизится?

8
задан 11 May 2015 в 16:57
3 ответа

Это немного похоже на взлом, но как насчет добавления чего-то вроде:

ExecStopPre=sleep 60

в раздел «[Служба]» / usr / lib / systemd / system / sshd .service ? Это не гарантирует порядок выключений, но если вы можете выдержать более длительное время выключения, это может позволить вам поддерживать свою оболочку в активном состоянии достаточно долго, чтобы убедиться, что все остальное завершено нормально, или сделать несколько быстрых поисков. Не уверен, что это полезно в общем случае, поскольку, вероятно, слишком поздно прерывать проблемное завершение работы на этом этапе в любом случае, но это может быть полезно в ситуации, когда у вас есть повторяющаяся проблема во время завершения работы, которую вы пытаетесь отладить.

0
ответ дан 2 December 2019 в 23:10

Я не уверен, что вам здесь нужно, но первое, о чем можно подумать, - это переназначить процесс.

Итак, в вашем случае вы можете переназначить родительский процесс sshd:

       renice PRIO_MAX -p pid-of-sshd
-5
ответ дан 2 December 2019 в 23:10

Даже если бы вы могли убедиться, что SSH будет последней службой, которая будет отключена, это было бы бессмысленно, потому что вы потеряете соединение, как только сетевые службы будут остановлены.

Linux-машина при загрузке запускаются все службы в заранее определенном порядке: сначала наиболее важные службы, системный журнал, брандмауэр, затем сеть и, наконец, приложения, требующие доступа к сети (веб-сервер, SSH-сервер и т. д.). При выключении эти службы останавливаются в обратном порядке. Таким образом, вы потеряете соединение SSH почти сразу.

Тот факт, что SSH уже отключен, пока вы все еще можете проверить связь с удаленной машиной, является нормальным.

1
ответ дан 2 December 2019 в 23:10

Теги

Похожие вопросы