ОК, я новичок в этом. Я установил tmux
для запуска эксперимента несколько дней. После набора tmux new -s name
я получил новое окно с зеленым баннером внизу. Я компилирую и запускаю Java-программу. Сейчас я не знаю, как выйти из окна (пока оно запущено). Курсор bash (или любой другой) не отвечает, потому что Java-программа все еще работает. Мое решение до сих пор состоит в том, чтобы полностью выйти из программы Terminal и снова открыть ее. Любые идеи о том, как выйти из окна tmux, не выходя из всей программы терминала?
80
man tmux | less -p detach
Ответы:
Отключиться от текущего присоединенного сеанса
сессия
Ctrl+ b dили Ctrl+b
:detach
экран
Ctrl+ a Ctrl+ dили Ctrl+a
:detach
источник
tmux attach
чтобы снова войти в открытый сеанс после повторного подключения.ENTER ~ .
это, кажется, лучше.Предыдущие ответы являются неполными, я считаю. Что
:detach
делает, так это закрывает области просмотра, которые отображают активность tmux. Однако сам tmux все еще работает в фоновом режиме, как вы можете увидеть, выполнивps
:myuser 1799 0.0 0.0 2500052 4632 ?? Ss 21Feb16 0:48.39 tmux new-session -s Dev
Фактически, даже если вы выйдете из терминала и запустите его снова, все процессы tmux по-прежнему будут работать в фоновом режиме.
Чтобы фактически убить сам процесс tmux, вы должны сделать:
tmux kill-session [-t session_name]
или просто:
kill -9 1799
источник
tmux attach-session
.kill -9
абсолютно неправильный путь (тм), чтобы сделать это. Это посылаетSIGKILL
сигнал, который не позволит процессу очиститься после себя, что может вызвать серьезные проблемы с висящими ресурсами.SIGKILL
следует использовать только в том случае, если процесс уже вежливо попросили очистить и закрыть с помощьюSIGTERM
или аналогичным образом и по какой-либо причине отказывается это сделать; даже тогда следует избегать отправки,SIGKILL
если они могут. Этот ответ выводит (неправильно), что это должно быть одним из первых действий, которые человек должен сделать, чтобы завершить фоновый процесс, такой как сервер tmux.