Остановить выполнение функции по истечении заданного времени в PHP

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

Связанный контент