четверг, 16 апреля 2009 г.

Небольшая заметка по утилите screen

Иногда бывает нужно, чтобы запускаемая программа или процесс висели в "отдельной" консоли. Можно, конечно, запустить 2 и более ssh-клиентов, но это не решает некоторых проблем и является несколько неудобным(при определенных условиях).
Решением проблемы является утилита screen. В репозитариях она присутствует. Установить ее можно следающим образом:
$sudo apt-get install screen
В моем случае стоит задача запустить сервер ip-телефонии asterisk при загрузке Debian Linux не только в фоне, но и чтобы можно было подключиться к консоли asterisk. Для этого в файле /etc/rc.local я прописал автозапуск следующим образом:

/usr/bin/screen -L -d -m -S asterisk /usr/sbin/asterisk -vvvvcd
Теперь у нас asterisk запуститься в отдельной консоли. Возникает вопрос: "как к ней(консоли) подключиться?". А очень просто. Необходимо выполнить команду:

screen -r asterisk
Чтобы выйти из консоли необходимо просто нажать сочетание клавишь: зажимаете Ctrl и последовательно "A"->"D". Так мы уводим консоль "asterisk" снова в фоновый режим.

PS Для еще более быстрого переключения в консоль я в файле ".bashrc", который находиться в моем домашнем каталоге прописал алиас:

alias asterscr='screen -r asterisk'
Теперь чтобы подключиться к asterisk в косоли можно просто ввести:

#asterscr