Я хочу запустить bash скрипт на сервере в фоновом режиме?
Я знаю, что могу использовать ssh для запуска скрипта, но скрипт может длиться долго, так что я могу запустить его в фоновом режиме? Если так, как это сделать?
Чтобы запустить команду в фоновом режиме в bash, вы используете & в конце.
./myscript.sh -opt1 > /tmp/myscript.out &
Одним из вариантов является использование менеджера экрана, такого как GNU Screen. Вы запускаете это (запустив screen , а затем запускаете процесс внутри него). После этого вы можете просто отключить сеанс SSH - процесс продолжится.
Позже вы можете восстановить соединение и запустить screen -r для возобновления. Он будет перерисовывать все так, как вы никогда даже не отключались - позволяя вам увидеть результаты вашего процесса.
nohup - ваш друг, но в соответствии с этой записью в Википедии вы также можете использовать screen .
nohup script &exit