Потеря сеанса ssh убивает команды, запущенные в tmux?

Вопрос, который я знаю, является базовым, но не может найти точный соответствующий вопрос в сообществе.
Стандартный процесс использования tmux - создать сеанс, запустить команду внутри, а затем отключить сеанс. Таким образом, существующий терминал ssh не убьет наш процесс.

Мой вопрос: если сессия tmux создана и в ней выполняется длинная команда. Но перед отключением, если сеанс ssh завершается, будет ли этот сеанс tmux сохраняться или он тоже будет убит ?

2
задан 29 July 2019 в 21:51

1 ответ

В основном после потери соединения SSH дочерний процесс получит a SIGHUP. Этот сигнал причины tmux отсоединять себя от lossen ssh сессия.

Таким образом, сессия tmux останется персистентной на удаленной машине, даже если ssh сессия будет завершена.


Протестируйте его сами:

  1. Откройте терминал и работайте tmux.
  2. На Вашей "tmux" выполненной сессии sleep 100.
  3. Откройте другой терминал и работайте: pkill -1 tmux.
    • Теперь tmux был закрыт в первом терминале.
  4. Выполненный tmux ls видеть, что Ваши сессии все еще там.
    • Или tmux attach поднять его.

Я также протестировал фактическую потерю ssh сценарий сессии на удаленной машине, результатом является то же.

1
ответ дан 2 December 2019 в 04:36

Другие вопросы по тегам:

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