Я хочу запустить bash скрипт на сервере в фоновом режиме?

Я знаю, что могу использовать ssh для запуска скрипта, но скрипт может длиться долго, так что я могу запустить его в фоновом режиме? Если так, как это сделать?

3 ответа3

2

Чтобы запустить команду в фоновом режиме в bash, вы используете & в конце.

./myscript.sh -opt1 > /tmp/myscript.out &
0

Одним из вариантов является использование менеджера экрана, такого как GNU Screen. Вы запускаете это (запустив screen , а затем запускаете процесс внутри него). После этого вы можете просто отключить сеанс SSH - процесс продолжится.

Позже вы можете восстановить соединение и запустить screen -r для возобновления. Он будет перерисовывать все так, как вы никогда даже не отключались - позволяя вам увидеть результаты вашего процесса.

0

nohup - ваш друг, но в соответствии с этой записью в Википедии вы также можете использовать screen .

  1. Войти с помощью SSH
  2. Запустите ваш скрипт в фоновом режиме с помощью nohup как: nohup script &
  3. Выйти: exit

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .