В командной строке Linux SSH введите /etc/init.d/network restart
для перезапуска сетевой службы.
Я ожидаю, что мое SSH-соединение прекратится, так как сетевая служба перестает работать. Но это не так. Очень круто. Но как Linux достигает этого? Как оно поддерживает мое SSH-соединение при перезапуске службы?
источник
SSHD разветвляет дочерний процесс на соединение. Этот дочерний процесс не умрет, если перезапустится либо SSHD, либо вся сеть. Это причина, по которой вы можете обновить ssh и / или его конфигурацию, сделать
service sshd restart
и по-прежнему оставаться подключенным к старому ssh-сеансу со старыми настройками. Кроме того, SSH хорошо восстанавливается после небольших перебоев в работе сети.источник
sshd
нужно делать, чтобы избежать паденияservice sshd restart
. Если вы обновляетеsshd
( обновление безопасности и т. Д.), Дочерние процессы по-прежнему будут работать с исходным кодом (предварительное обновление), но будут продолжать предоставлять услуги, а не прерываться. Я предполагаю, что доступность сокета прослушивания для основногоsshd
процесса очень кратко прерывается, однако, когда заканчивается первый дочерний процесс и сетевой интерфейс на мгновение указывает, что порт закрыт.