Есть много причин, по которым вы хотели бы сохранить процесс, даже если вы закрываете сеанс SSH.
Вот несколько примеров:
- Ваш рабочий день скоро закончится, и вы запускаете огромный импорт базы данных, который требует много времени, вы не захотите оставаться и ждать, пока импорт выполнит, а просто передайте задачу следующему человеку в смене
- Вы загружаете огромный файл, и это займет несколько часов, вы не захотите оставлять свой терминал открытым и ждать, или, что еще хуже, вы не хотите начинать все сначала, если ваше интернет -подключение падает
Я обычно делаю в таких случаях, чтобы использовать экран
командовать и запустить процессы в экран
сессия Таким образом, я мог отделиться от экран
Сессия и закройте мое соединение SSH, и процесс все равно будет работать, позволяя мне или другим людям прикрепить к сеансу позже и следить за процессом.
Вот быстрое представление о том, как использовать экран
!
Согласно официальной документации экран
является полноэкранным управляющим окон, который мультиплексирует физический терминал между несколькими процессами, обычно интерактивными оболочками. Когда экран
называется, он создает одно окно с оболочкой, где вы можете запускать команды как обычно.
Я заметил, что в большинстве случаев экран установлен по умолчанию, поэтому, чтобы проверить, установлен ли у вас экран, вы можете запустить следующее:
screen --version
Если вы получите команда не найдена
, тогда вы можете установить экран
Бег:
- Для Ubuntu и Debian:
sudo apt update -y sudo apt install screen
- На Centos:
yum update -y sudo yum install screen
Как только у вас появится экран
Установлено, чтобы начать новый экран
Запуск сеанса:
screen -S SOME_NAME_HERE
Это развернет новый экран
И вы будете прикреплены к нему автоматически, внутри сеанса экрана запустите свой скрипт.
После этого отречься от сеанса экрана нажмите Ctrl+A+D
Анкет
Если вам нужно прикрепить к запуска сеанса экрана и проверить свой процесс, просто запустите:
screen -R SOME_NAME_HERE
Если вы забыли имя своего экран
сеанс или, если вы не установили имя, вы можете перечислить все доступные экран
Сессии за бег:
screen -ls
Это просто действительно краткое представление о том, как использовать экран
, Я бы порекомендовал проверить официальную документацию:
https://www.gnu.org/software/screen/manual/screen.html
Надеюсь, это поможет!
Оригинал: «https://dev.to/bobbyiliev/how-to-keep-a-process-running-even-after-closing-ssh-connection-3cek»