Остановить выполнение функции через определенное время в PHP
У меня пять exec()
функции в моем сценарии. Я хочу настроить его так, чтобы, если функция не отвечает в течение заданного времени, функция будет уничтожена, и следующая функция начнет выполнение.
<?php
exec("timeout 5 /usr/local/bin/wrun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat'",$uptime);
exec("timeout 5 /usr/local/bin/trun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat'",$uptime);
exec("timeout 5 /usr/local/bin/drun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat'",$uptime);
?>
В этом timeout
аргумент не работает. Пожалуйста, исправьте это или дайте мне альтернативный метод.
1 ответ
Ваш exec sysntax неправильный
string exec ( string $command [, array &$output [, int &$return_var ]] )
Вы должны установить ограничение по времени, прежде чем начать свой код, что-то вроде этого
<?php
set_time_limit(5);
exec(" /usr/local/bin/wrun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat'",$uptime);
?>