Остановить выполнение функции через определенное время в 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);
?>
Другие вопросы по тегам