• [^] # Re: man pidof

    Posté par . En réponse au message [Solved] [Optimisation] PHP/Bash tester le plus rapidement si un process est actif. Évalué à 1. Dernière modification le 17 mars 2019 à 20:24.

    Il semble que tu puisses ne l'appeler qu'une seule fois avec tous les programmes que tu veux tester.

    Merci, update faites 😉

    Le type de commande :

    pidof -s nomSoft1 nomSoft2 | wc -w

    Puis comparé la taille du nombre qui sort de la commande avec le nombre de logiciels recherché.

    <?php
    $chkSoftwareName = array( "soft1", "soft2" );
     if(is_array($chkSoftwareName)) {
     foreach($chkSoftwareName as $name){
     $fullName = $fullName." ".$name;
     }
     $pids=null;
     exec("pidof -s ".$fullName." | wc -w", $pids);
     if(empty($pids) || intval($pids[0])<count($chkSoftwareName) ) {
     echo "un des loulous n'est pas lancé !";
     }
     }
    ?>

    Par contre même en ne recherchant qu'un seul software, l'utilisation de pidof fait tripler le temps de chargement du script sur x64 (passe de 5ms a 17-25ms) et entre 3x et 4x sur ARM (de 8-20ms à 45-65ms).