Не запускайте демоны из интерактивной оболочки, подключенной к терминалу.
Сконфигурируйте демоны так, чтобы они работали должным образом, управляемыми любыми супервизорами, с которыми поставляется ваша система, будь то что угодно от s6-supervise
до launchd
. Используйте интерфейс управления, чтобы поднимать и опускать демонов.
Когда ваше SSH-соединение потеряно, процесс SSH-сервера закрывает основную сторону псевдотерминала, которую он открывает. Это вызывает отправку SIGHUP
процессу лидера сеанса, оболочке верхнего уровня и всем процессам в группе процессов переднего плана. Когда bash
получает SIGHUP
, он отправляет SIGHUP
всем дочерним процессам, от которых ему не велено disown
. Это, конечно, включает в себя процесс tomcat
который вы запустили из этой интерактивной оболочки.
У демонов не должно быть никакого управляющего TTY, и он не должен принадлежать к какой-либо группе процессов или сеансу, известным любому TTY, чтобы непривилегированные пользователи не могли отправлять им случайные и, возможно, неожиданные сигналы. Запуск их из системного супервизора (ов) демона гарантирует, что этот и все остальные аспекты состояния процесса демона настроены соответствующим образом для процесса демона. Многие супервайзеры демонов также будут автоматически регистрировать логи для демона.
Запускай своего tomcat
демона правильно.
дальнейшее чтение