Сохранять экран активным после завершения сценария запуска на Compute Engine

Я запускаю скрипт запуска на Compute Engine,env - это Ubuntu 16.04, скрипт запускает экран, а затем запускает процесс внутри экрана.

Все линии эха выводятся на экран последовательного порта 1.

Проблема в том, что когда я подключаю SSH к машине, экран не работает.

Я проверил каждую из линий, чтобы убедиться, что они работают.

Может кто-нибудь помочь мне понять проблему?

Сценарий:

#! /bin/bash
echo "going to sleep"
echo "starting bitcored"
screen -d -m -S testScreen 'bitcored'
echo "bitcored started"

1 ответ

screen закрывается автоматически, когда процесс внутри него заканчивается. Чтобы держать его открытым, вам нужен активный процесс внутри. Если процесс, в котором вы работаете, завершается по какой-либо причине, вы можете оставить screen занят, запустив интерактивную оболочку в конце процесса, например:

screen -d -m -S testScreen "bitcored ; exec bash"

Это начнется bash один раз bitcored останавливается и закроет экран один раз bash остановлено, что в обычных условиях происходит только вручную.

Другие вопросы по тегам