#shell #ssh #bash #linux
Например, есть скрипт do.sh. Я подключаюсь к серверу по SSH и запускаю скрипт на выполнение: ~/do.sh Проблема в том что если отключиться от сервера или произойдет разрыв соединения то выполнение скрипта остановится. Как сделать так чтобы скрипт исполнялся дальше если я отключась от сервера или происходит разрыв соединения?
Ответы
Ответ 1
nohup do.sh & screen и в нем уже ./do.shОтвет 2
Думаю будет полезным утилита screen. В некоторых дистрибутивах линукс она предустановлена. Тем не менее, разобраться в документации и поставить небольшую утилиту не составит проблем. Она позволяет "разделять процессы на несколько окон" в одном терминале. При отключении от сервера "окна" screen сохранятся (процессы не завершатся), и в них можно будет вернуться при следующем подключении. Неплохой гайд для старта. Из минусов можно отметить то, что работа со скриптами как с демонами усложнится, но это все равно возможно.Ответ 3
Вы можете запустить скрипт в фоновом режиме просто поставив в конце символ & Так же я использую более приятный аналог screen - tmux Например. Зашёл на сервер tmux В открывшейся консоли запускаю выполнение скрипта ./script.sh Далее жму последовательно ctrl+b d и отключаюсь от консоли tmux. При этом все открытые процессы и окна в нём продолжают выполняться. При повторном входе на сервер набираю tmux attach и попадаю в тот же сеанс и продолжаю работать Краткий курс работы с tmux
Комментариев нет:
Отправить комментарий