Как запустить команду в screen и сразу отсоединиться

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

screenscreen-dmSlinux

ℹ️ Обычно, если вам нужно запустить долгий процесс на сервере и отсоединиться, многие делают так:

screen -S mysession
# Запускаем команду
./long_running_script.sh
# Нажимаем Ctrl+A, затем D, чтобы выйти

🔥 Но можно сделать это одной командой, без лишних шагов:

screen -dmS mysession ./long_running_script.sh

ℹ️ Разбираем магию:

  • -d — запускает screen в "отключённом" режиме.
  • -m — создаёт новую сессию даже если screen уже запущен.
  • -S mysession — задаёт имя сессии (удобно для последующего подключения).
  • ./long_running_script.sh — сразу выполняется внутри сессии.

🖥 После этого можно в любой момент подключиться и посмотреть процесс выполнения:

screen -r mysession

➡️ А если сессий несколько, то список можно вывести так:

screen -ls

✳️ Теперь не нужно вручную создавать сессию, заходить в неё, запускать команду и отсоединяться — всё делается в одну строку!

tags: #полезно #linux

🧭 @recura_tech

Иллюстрация терминала с окном screen: текстовый интерфейс, вывод именованной сессии и список процессов на стилизованном кибернетическом фоне.
Визуализация работы screen: окно с сессией и списком процессов.

Читайте так же