Запустить экран из Perl - PullRequest
5 голосов
/ 10 мая 2011

У меня есть Jar-файл, который я хотел бы запустить через экран, хотя, когда я пытаюсь открыть скрипт Perl, кажется, что все работает нормально, хотя, когда я делаю top, я не вижу процесс в списке, это прекрасно работает, если я скопирую и вставлю команду в сеанс SSH ...

Это код, который я использую:
start.pl

# !/usr/local/bin/perl<br> system("cd /var/server/; screen java -Xmx1024M -Xms1024M -jar jarfile.jar > /dev/null 2>&1 &");

Может кто-нибудь указать, почему это так?

1 Ответ

6 голосов
/ 10 мая 2011

Проблема в том, что экран пытается захватить терминал, что невозможно, учитывая контекст команды system. Самое простое решение - запустить сеанс экрана в отдельном режиме, добавив параметры -d -m:

# !/usr/local/bin/perl
system("cd /var/server/; screen -d -m java -Xmx1024M -Xms1024M -jar jarfile.jar > /dev/null 2>&1 &");
...