воскресенье, 13 апреля 2008 г.

Задача
Как работать с задачами в фоне или простая практика screen
Поиск решения
linux man
Решение
screen - консольная утилита которая входит в большинство юникс или линукс дистрибувов.
Основное назначение - расширение одной консоли на несколько виртуальных.
Например, Вы подключены через ssh к серверу и выполняете какую-то длительную операцию и при этом хотите делать что-то параллельно используя тоже подключение.

Вот как это выглядит в screen:
запустили screen
$ screen
далее мы видим такое же приглашение командной строки но уже через screen
$
запустим например top
$top
у нас на экране сейчас показывается динамический список запущенных приложений.
нажмем ctrl+a (далее вместо ctrl+ будет обозначение "^") для того что бы создать второе окно
там мы можем например запустить компиляцию ядра:
$cd /usr/src/linux
$make clean&&make

можем даже отсоединить screen от текущей консоли ^a d и увидим консоль а screen будет выполняться в фоне. можем даже отключиться
$exit

и подключившись по ssh или например подойдя к консоли набрать
$screen-x
и видим наш запущенный top
^a n - увидим компиляцию ядра если она еще не закончилась
^a p - топ

вот неполный список команд

KeyActionNotes
Ctrl+a cnew window
Ctrl+a nnext windowI bind F12 to this
Ctrl+a pprevious windowI bind F11 to this
Ctrl+a "select window from listI have window list in the status line
Ctrl+a Ctrl+aprevious window viewed
Ctrl+a Ssplit terminal horizontally into regionsCtrl+a c to create new window there
Ctrl+a :resizeresize region
Ctrl+a :fitfit screen size to new terminal sizeCtrl+a F is the same. Do after resizing xterm
Ctrl+a :removeremove regionCtrl+a X is the same
Ctrl+a tabMove to next region
Ctrl+a ddetach screen from terminalStart screen with -r option to reattach
Ctrl+a Aset window title
Ctrl+a xlock sessionEnter user password to unlock
Ctrl+a [enter scrollback/copy modeEnter to start and end copy region. Ctrl+a ] to leave this mode
Ctrl+a ]paste bufferSupports pasting between windows
Ctrl+a >write paste buffer to fileuseful for copying between screens
Ctrl+a <read paste buffer from fileuseful for pasting between screens
Ctrl+a ?show key bindings/command namesNote unbound commands only in man page
Ctrl+a :goto screen command promptup shows last command entered

За список команд спасибо http://www.pixelbeat.org/lkdb/screen.html

Комментариев нет :