Screen

Screen

Screen — это эмулятор терминала. Который позволяет запустить несколько сессий например в вашем удаленном терминале, которому нестрашны дисконнекты, т.е. процессы в screen остаются живы после закрытия вашей сессии.
Как пример в нем можно безопасно запустить правила файрвола, если по умолчанию он настроен как закрытый (в момент отработки вы потеряете ssh коннект, но в screen скрипт отработает до конца и при наличии разрешающих правил для вашего подключения в конфигурации firewall вы потеряете управление только на короткое время)
Так же время от времени появляются задачи держать какой-либо процесс запущенным ручным способом (в далекой практике держали терминальную ICQ для мониторинга потребления трафика), с помощью screen это легко сделать.

В системе FreeBSD изначально screen не установлен, установим (два варианта установки на ваш выбор — порты или пакеты)

  1. cd /usr/ports/sysutils/screen && make install clen
  2. pkg install screen

В Linux где-то scren идет в базовой инсталляции, где-то нет, можно проверить командой:

# whereis screen
screen: /usr/local/bin/screen /usr/local/man/man1/screen.1.gz /usr/ports/sysutils/screen

Если на ваша система Linux и в выводе wheries вы не обнаруживаете screen в bin(sbin) каталоге, то установите его с помощью вашего пакетного менеджера (apt, yum, etc)

Несколько полезных команд для работы со screen:

  • Запустить screen — screen
  • Отключится от screen — Ctrl+a+d
  • Убить текущий screen — Ctrl+a+K
  • Посмотреть все сессии screen — screen -list
  • Подключится к сессии screen — screen -r [имя сессии]
  • Подключится к единственной сессии — screen -r
  • Создать сессию screen, запустить процесс и не входить в нее —
    /usr/local/bin/screen -t MY_SESSION -d -m /home/admins/scripts/MY_SCRIPT.sh

Где:

  • -t — Имя сессии (Имя окна)
  • -d — Отключится от сессии
  • -m — Создать новую сессию

Что позволяет нам запустить процесс в screen при перезагрузке прибегнув к планировщику заданий Cron, просто добавив запись через crontab:

@reboot  /usr/local/bin/screen -t MY_SESSION -d -m /home/admins/scripts/MY_SCRIPT.sh
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

:) :D :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.