Сегодня я запустил скрипт из командной строки (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
есть гораздо больше информации.