Скрипт sh блокирует консоль *unix или как пользоваться tmux

Разворачивал один проект на ubuntu, для старта сервера нужно было запустить *.sh скрипт, но после запуска консоль превращалась в лог консоль этой программы:

1442574860278

Как бы проблем в таком случае нет, можно открыть еще одну консоль, но если выключить ту в которой запущен скрипт — падает программа.

Особенно это проблематично когда вы работаете по ssh.

Решение оказалось очень простым. Устанавливаем:

или собираем:

Tmux — менеджер сессий. Все что нам нужно после установки — это запустить его tmux attach || tmux new,  у вас откроется полноценная консоль, запускаем в ней наш скрипт, нажимаем Ctrl+b d. Все, теперь даже если закрыть ssh скрипт не прекратит свою работу.

Инструкция по пользованию:

Очень хороший способ запустить tmux:
tmux attach || tmux new — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.

После этого вы попадаете в полноценную консоль.
Ctrl+b d — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)

В одной сессии может быть сколько угодно окошек:
Ctrl+b c — создать окошко;
Ctrl+b 0…9 — перейти в такое-то окошко;
Ctrl+b p — перейти в предыдущее окошко;
Ctrl+b n — перейти в следующее окошко;
Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);
Ctrl+b & — закрыть окошко (а можно просто набрать exit в терминале).

В одном окошке может быть много панелей:
Ctrl+b % — разделить текущую панель на две, по вертикали;
Ctrl+b » — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);
Ctrl+b →←↑↓ — переходить между панелями;
Ctrl+b x — закрыть панель (а можно просто набрать exit в терминале).

Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp — вход в «режим копирования», после чего:
PgUp, PgDown — скроллинг;
q — выход из «режима копирования».

Добавить комментарий