Pare a execução de uma função após um determinado tempo em PHP

Pare a execução de uma função após um determinado tempo em PHP

Tenho cinco exec()funções em meu script. Quero configurá-lo para que, se uma função não responder em um determinado momento, a função seja eliminada e a próxima função inicie sua execução.

<?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);
 ?> 

Nisso o timeoutargumento não está funcionando. Por favor, corrija isso ou me dê um método alternativo.

Responder1

sua sintaxe executiva está errada

string exec ( string $command [, array &$output [, int &$return_var ]] )

Você deve definir um limite de tempo antes de iniciar seu código, algo como isto

<?php

set_time_limit(5);

exec(" /usr/local/bin/wrun 'uptime;ps -elf|grep httpd|wc -l;free -m;mpstat'",$uptime);
?>

informação relacionada