Тому зазвичай, коли у вас є термінал X, і ви виходите з вікна, термінал гине, а HUP надсилається всім процесам, які мають цей термінал як контрольний термінал, їх звичайна відповідь полягає у виході після отримання HUP.
Коли в нього входить tmux, який знаходиться між терміналом і фактичним процесом, як правило, оболонкою, цього не відбувається. Після HUP tmux, здається, просто від'єднує, а не вбиває будь-які приєднані в даний час сеанси. Це означає, що сеанс постійно затримується, а також сам процес оболонки та будь-які запущені процеси всередині цієї оболонки.
Тож я б хотів ідеальної поведінки (але, звичайно, будь-яке поліпшення в порівнянні з поточним) є.
- Коли вікно керуючого терміналу, в якому запущений екземпляр tmux, виходить та надсилає HUP
- tmux повинен надсилати HUP на будь-який із сеансів, які зараз не приєднані в іншому місці
- в ідеалі надсилайте його лише на сеанси, яким явно не було дано ім’я
Я знаю, до речі, ви можете уникнути цього, виходячи з PREFIX+:kill-session
або просто, ctrl+d
але перший є багатослівним, а останній працює лише зі снарядами, які виходять на EOF.