Назад | Перейти на главную страницу

Linux как запустить скрипт в фоновом режиме на удаленном сервере?

Я на Linux-машине.

Я хотел бы запустить четыре сценария perl на удаленном сервере. Каждый сценарий создает единственный выходной файл, но его выполнение может занять несколько часов. Я хотел бы запускать сценарии в фоновом режиме, чтобы, если я отключусь от сервера, выйду из приглашения оболочки или выйду из системы, он продолжит работу. Эти сценарии также выводят строки на командный терминал во время его работы. Я хотел бы иметь возможность проверять операторы печати, которые скрипт выводит на командный терминал.

Обычно я бы использовал screen -S команда для создания экрана. Затем нажмите CTRL+А CTRL+D отделить и screen -r для повторного подключения к экрану, но на удаленном сервере, на котором я работаю, нет экрана. И у меня нет доступа sudo для его установки.

Как мне запустить эти 4 сценария perl одновременно в фоновом режиме на удаленном сервере?

Например, мой сценарий называется gene1.pl, Как мне это сделать? Я пробовал делать nohup perl gene1.pl & >> gene1-terminal_out.txt но это не работает. Опять же, я хотел бы иметь возможность динамически просматривать вывод на терминале во время выполнения сценария.

nohup не имеет возможности отправлять вывод на терминал (по крайней мере, в CentOS)

попробуй это:

bash$ (perl gene1.pl 2>&1 | tee output.log) &

вывод будет записан в терминал И output.log для дальнейшего использования.