Всем привет.
В мире Linux bash процессы, которые вы запускаете из командной строки, привязаны к вашему активному пользовательскому сеансу. Для удобства понимания вы можете думать о каждой команде, которую вы вводите, как о небольшом приложении с собственным значком на панели задач Windows. Если ваш сеанс bash завершается по какой либо причине, ваши процессы прекращаются.
По этой причине были изобретены терминальные мультиплексоры. Самый лучший терминальный мультиплексор в мире называется tmux. С ним вы попадаете в своего рода виртуальную терминальную среду, работающую в фоновом режиме. Вы можете выйти из сеанса tmux, закрыть свой терминал, выйти из системы, снова войти в систему, открыть новый терминал и снова подключиться к тому же сеансу tmux. Кроме того, tmux имеет множество других замечательных функций, которые я рекомендую вам изучить за рамками этого поста.
Мне нравится tmux и использую его по двум основным причинам:
- возможность сохранить сеанс, выйти из системы, а затем вернуться к тому же сеансу;
- возможность совместной работы и совместного использования одного интерактивного терминала разными пользователями.
Как вы, вероятно, знаете, для обработки некоторых команд требуется много времени. У кого есть лишнее время ждать? Вместо этого вы можете запустить свою «долгоиграющую» команду в одном окне терминала, а затем открыть другое окно, чтобы заняться другими делами. Вы можете считать это аналогом нескольких вкладок в одном окне браузера, но, вероятно, будет лучше, если я покажу вам пример терминала. Откройте терминал в вашей виртуальной машине Ubuntu и введите tmux:
Пусть вас не смущает строка состояния на этом снимке экрана. Самая важная вещь, на которую следует обратить внимание, – это лента внизу слева со словом bash (или zsh) и числом 0. В языке tmux это называется окном, и все окна имеют числовой идентификатор, начинающийся с 0, и заголовок текущего запущенного процесса, которым по умолчанию является bash. Переименовать это окно легко, если вы знаете команды tmux.