Установить время ожидания для каждого SHELL_EXEC в цикле PHP - PullRequest
0 голосов
/ 02 сентября 2018

Как лучше всего управлять таймаутом в shell_exec () внутри цикла php?

Я попытался добавить timeout 10 перед командой, но это прерывает весь цикл при первом сбое. Я ожидаю, что каждая команда может быть выполнена не более 10 секунд в течение 10 циклов цикла и вернуть данные в случае успеха.

<?php
function ShellC($params) {

    $n = 0;
    foreach ($params as $param) {
        if ( ++$n < 11 ) {
            $data = shell_exec('timeout 10 command_execute_param 2>/dev/null');
            if ( !empty($data) ) {
                return $data;
            }
        }
    }

    return false;
}

Спасибо за помощь!

...