У меня есть сценарий name.bash
. Я хочу запустить его на сервере serv@domaine
с ssh
, но боюсь запустить его напрямую, закрыть мой shell
и остановить выполнение. Я прочитал, что я могу запустить мой bash на сервере с screen
, чтобы преодолеть эту проблему. Какие команды я бы использовал, пожалуйста?
Если вы не делаете ничего интерактивного в этом скрипте, вы можете просто настроить его на запуск, используя nohup
, который сообщит, что он продолжится, даже если сессия ssh завершится. это применимо только к одному сценарию, а не к экрану, который, по сути, поддерживает весь сеанс входа в систему.
Командой будет:
nohup /path/to/name.bash &
Последний амперсанд устанавливает процесс nohup для запуска в фоновом режиме.
Подробнее о команде nohup: http://en.wikipedia.org/wiki/Nohup
.Если у вас есть современная версия ubuntu на сервере, вы можете использовать byobu , которая является более обновленной версией экрана.
От вашего локального:
ssh serv@domain
byobu
/path/to/script.whatever
Затем, если ваш сеанс прерывается (или вы просто закрываете терминал), вы можете восстановить соединение с помощью команды ssh и вернуться на свое место.
Вы также можете настроить byobu на постоянную работу, что я и делаю, набрав byobu-enable
.