2014-02-03 4 views
0

У меня есть 2 php-файла. Один run_server.php следующим образом:Остановка выполнения php-файла после некоторого времени

<?php 
echo "Initializing"; 
shell_exec("php -q server.php &"); 
echo "finishing !"; 
?> 

И в server.php, я бегу сервер и 2 клиента следующим образом:

<?php 
//ini_set('max_execution_time', 5); 
ini_set('set_time_limit', 10); 
$Command = 'commands.txt'; 
exec(" parallel -j 8 < $Command"); 
?> 

Commands.txt выглядит следующим образом:

code/./server & 
clients/./O 180.215.167.197 & 
clients/./X 180.215.167.197 & 

Это бот-программа, в которой я запускаю сервер и 2 клиента из файла server.php, который вызывается run_server.php. Моя проблема в том, что строка

shell_exec("php -q server.php &"); 

не возвращается даже после завершения работы сервера и клиентов. Я постарался поставить

max_execution_time/set_time_limit 

но без помощи. Есть ли способ, с помощью которого я могу принудительно вернуться к run_server.php из server.php через определенный период времени?

Заранее спасибо.

ответ

0

Используйте, например, header();.

<?php 
echo "Initializing"; 
shell_exec("php -q server.php &"); 
header('location:http://mydomain.com/server.php'); 
echo "finishing !"; 
?> 
+0

Я проверил через netstat -ntlp, что сервер больше не работает, но код не возвращает и останавливает выполнение файла server.php? Никакой помощи с заголовком тоже. Любые другие предложения? – Aryabhatt

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