Screen
GNU Screen - это мультиплексор терминалов. Он позволяет в одном окне терминала пользоваться сразу несколькими сессиями и перемещаться между ними, подобно оконному менеджеру X Window System. Благодаря этому, к примеру, через одно SSH подключение можно управлять сразу несколькими программами на удалённой машине.
Ещё одна важная функция screen - возможность отключения от сеанса, с последующим подключением к нему в другое время, и даже из другого места.
При этом, существует специальный буфер, в который сохраняется вывод программ в то время, пока сессия отключена - поэтому её можно просмотреть после подключения.
Третья интересная возможность - это одновременное подключение нескольких клиентов к одной терминальной сессии, и совместное управление ею.
---
Установить screen просто, утилита присутствует в большинстве дистрибутивов. Для Fedora просто наберите yum install screen
запустите screen screen
вы попадёте в новую терминальную консоль. Запустите там какую-то программу. Теперь, можно отключить сессию - это делается нажатием клавиш Ctrl+A, а затем - D. появится надпись [detached] и вы снова попадёте в исходную консоль. Сеанс screen, и запущенное в нём приложение продолжают выполняться в фоновом режиме. Чтобы снова зайти в этот сеанс, наберите screen -r чтобы завершить сеанс screen - закройте запущенную в нём программу, если такая имеется - и, как и в обычной консоли - наберите exit
Но что делать, если хочется запускать в фоне две, три, или более программ? Для этого достаточно дать сессиям названия.
Например, можно ввести screen name0 запустить программу, отключить сессию по C-a d - затем, ввести screen name1 и получить ещё один сеанс. соответственно, при желании вновь зайти в сеанс, его назване нужно указать. screen -r name0
Есть множество параметров как командной строки, так и внутри сеанса screen - их можно почитать? набрав man screen
Лично я для запуска screen пользуюсь параметром -RD screen -RD name в данном случае, если сессии нет - она создастся. Если сессия есть, и она находится в фоне - то к ней будет произведено подключение. И даже если сессия сейчас активна, произойдёт её отключение от предыдущего терминала, и подключение к нынешнему.
Вот так вот.