Я использую веб-консоль для ssh-подключения к экземпляру aws. Затем я запускаю сеанс xrdp, НО сеанс не проходит через ssh.
Однако, когда я перезапускаю или останавливаю этот сеанс ssh, все, что я запускал в этом сеансе, тоже убивается (например, xrdp), даже если я перевел его в фоновый режим с помощью "&". Я не знаю, является ли это ожидаемым поведением или связано с сеансом ssh через браузер. Идеи по исправлению этого и не убиванию каждой программы в этом сеансе были бы очень признательны :)
решение1
Это ожидаемое поведение, поскольку когда процесс, контролирующий терминал, завершает работу, он отправляет SIGHUP
всем своим дочерним процессам уведомление о том, что терминал повесил трубку. То, как SIGHUP
обрабатывается дочерним процессом, зависит только от дочернего процесса. Перевод процесса в фоновый режим не блокирует сигналы, а просто отсоединяет дочерний процесс от терминала. Чтобы заблокироватьсигнал отбоявам следует запустить вашу программу с помощью nohup
, например. nohup myprogram &
. В большинстве случаев этого должно хватить.