Повернуть Процесс В Окне с PHP


Я использую S. Linux ubuntu и работает мой сайт на сервере Apache. Через PHP я пытаюсь сделать, - запустить исполняемый файл, который находится в каталоге указываю, но хочу, чтобы этот процесс поверните в фоновом режиме и в некоторые окна, чтобы он храниться.

я Пробовал различные команды exec system shell_exec и в то время, так, что я делаю неправильно?

$startOT = "";
if ( isset($_GET['Server']) ) {
    $startOT = trim($_GET['Server']);
}

if ($startOT == "Start") { 
    if (substr_count(shell_exec('sudo pstree'),'tfs') >= 1) { 
        echo 'Server is executing';
    }
    else {
        $startCommand = 'cd /var/www/html/datapacks/baiak860/ && sudo screen && sudo ./tfs';
        $out = shell_exec($startCommand);
        echo $out;
        echo "Server has been started!";
    }
}
 1
Author: Ale Chaito, 2016-05-09

1 answers

Я Не знаю, что вы хотите запустить, но я собираюсь сообщить вам кое-какие предложения, терминалы, gnu/linux, вы можете использовать > /dev/null & (или > /dev/null 2>&1 &) а надо выполнить команду background, это заставляет PHP не ждать команды:

exec($startedCommand . ' > /dev/null &');

exec($startedCommand . ' > /dev/null 2>&1 &');

, Если хотите, чтобы открыть новое окно терминала можно попробовать так:

exec('xterm -e "' . $startedCommand . '"');

, Если это провести процесс php попробуйте в сочетании с предыдущих команд:

exec('xterm -e "' . $startedCommand . '" > /dev/null &');

, Если у вас есть поддержка инструментов Gnome (Unity и xfce, я считаю, что у вас), можно попробовать так:

exec('gnome-terminal -e "' . $startedCommand . '"');

, Если это провести процесс php попробуйте в сочетании с предыдущих команд:

exec('gnome-terminal -e "' . $startedCommand . '" > /dev/null &');

, Возможно, могут возникнуть некоторые проблемы при передаче параметра -e, так что вы можете попробовать использовать escapeshellarg, а не

$startedCommand = escapeshellarg($startedCommand);
exec('xterm -e "' . $startedCommand . '" > /dev/null &');

$startedCommand = escapeshellarg($startedCommand);
exec('gnome-terminal -e "' . $startedCommand . '" > /dev/null &');
 0
Author: Guilherme Nascimento, 2016-05-12 13:22:43