Как выйти/отключиться от SSH после запуска процесса с выводом, чтобы он продолжал работать?

Как выйти/отключиться от SSH после запуска процесса с выводом, чтобы он продолжал работать?

Сегодня я запустил скрипт из командной строки (php, не уверен, что это важно), который вывел то, что я хотел посмотреть, но мне нужно было идти домой до его завершения, и я не мог понять, как выйти, не убив скрипт. Обычно я просто закрываю ноутбук (спящий режим), но, похоже, скрипт не завершен.

Есть ли какая-то комбинация клавиш, которую я могу нажать, чтобы выйти из терминала и оставить скрипт запущенным? Он также печатает файл журнала, так что я могу просто проверить его позже.

решение1

Самый простой способ продолжить выполнение скриптов после закрытия сеанса оболочки — использовать программу-мультиплексор терминала. Мультиплексор терминала позволит вам запускать несколько сеансов оболочки одновременно, не будучи активно подключенным к каждому из них, даже после того, как вы отключитесь (отсоединитесь) от них. Два самых популярных из них — screenи tmux.

Я лично использую screen, и это работает для меня очень хорошо. Вы начинаете screenсеанс, запускаете свою программу/скрипт, отключаетесь (отсоединяетесь), затем снова подключаетесь к отсоединенному сеансу позже, чтобы посмотреть, как все прошло.

Установить:

sudo apt-get install screen

Чтобы начать сеанс:

screen  

Чтобы отключиться (отсоединиться) от сеанса:

Ctrl+ Aтогдаd

Чтобы составить список запущенных сеансов:

screen -ls

Чтобы повторно подключиться к отсоединенному сеансу, используйте вывод изscreen -ls

screen -r [pid.tty.host]

Это только основы, с которых можно начать, но, как всегда, man screenесть гораздо больше информации.

Связанный контент