2013-04-02 3 views
2

Я нахожусь на машине linux.Linux, как запустить скрипт в фоновом режиме на удаленном сервере?

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

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

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

+0

Просто мысль, но если экрана нет, возможно, ваш провайдер не хочет, чтобы вы оставляли в своей системе длинные фоновые процессы. Можете ли вы работать с поставщиком, чтобы установить его? – Zoredache

+0

nohup & >> output.txt –

+0

@better_use_mkstemp файлы 'script.pl' уже печатаются в файле output.txt. Будет ли команда выше печатать командные строки, которые генерирует 'script.pl'? – cooldood3490

ответ

3

GNU screen - самый чистый способ. Для установки локальной копии вам не нужны права root. Вы должны быть в состоянии загрузить источники и сделать

tar -xzvf source.tar.gz 
mkdir ~/local/ 
./configure -prefix=~/local/ 
make && make install 

Это было бы установить screen в ~/local/bin. Однако, если некоторые зависимости отсутствуют, вам придется сделать это для каждого из них.

+0

эти команды, похоже, не работают для меня. какие именно команды мне нужно ввести? Похоже, мне нужно скомпилировать исходный код? можете ли вы опубликовать шаги для этого? – cooldood3490

+0

Я предполагаю, что вы используете основной дистрибутив, почему бы просто не использовать диспетчер пакетов? – kjprice

+0

Это точные команды. Загрузите источники экрана gnu и замените 'source.tar.gz' в моих инструкциях именем загруженного файла. – jman

Смежные вопросы