Stoppen Sie die Ausführung einer Funktion nach einer bestimmten Zeit in PHP

Stoppen Sie die Ausführung einer Funktion nach einer bestimmten Zeit in PHP

Ich habe fünf exec()Funktionen in meinem Skript. Ich möchte es so einrichten, dass, wenn eine Funktion nicht innerhalb einer bestimmten Zeit reagiert, die Funktion beendet wird und die nächste Funktion mit ihrer Ausführung beginnt.

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

In diesem Fall timeoutfunktioniert das Argument nicht. Bitte korrigieren Sie dies oder geben Sie mir eine alternative Methode.

Antwort1

Ihre Exec-Sysntax ist falsch

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

Sie müssen ein Zeitlimit festlegen, bevor Sie mit Ihrem Code beginnen, etwa so

<?php

set_time_limit(5);

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

verwandte Informationen