Visualizzazione dei risultati da 1 a 8 su 8

Discussione: shell_exec

  1. #1

    shell_exec

    Salve a tutti,
    vorrei sapere se il comando php SHELL_EXEC() è un comando bloccante. se nn ho reso l'idea del bloccante, vi spiego meglio. Io, tramite un db, acquisisco enne siti (es. 10). A questi vengono mandati altrettanti ping da php proprio grazie alla shell_exec. A questo punto, per nn occupare tt la banda insieme, vorrei far passare un ping per volta cn relativo inserimento dei dati nel db. Quando termina un sito, attacca l'altro e cosi via. Questo è il concetto di bloccante...
    Spero di esser stato chiaro.

    ciao e grazie anticipatamente

  2. #2
    Tu intendi se è un comando che aspetta che gli venga ripassato il puntatore al termine della sua esecuzione.

    Mi pare di si, perché lo uso per un'applicazione che mi normalizza degli mp3 e fra un mp3 e l'altro aspetta di terminare la normalizzazione prima di procedere.

  3. #3
    Magari, vedendo questi risultati ottenuti, puoi dirmi cn certezza questo:

    ping 1 alle 17:04:06
    ping 2 alle 17:04:09
    ping 3 alle 17:04:12
    ping 4 alle 17:04:34
    ping 5 alle 17:04:55
    ping 6 alle 17:04:58
    ping 7 alle 17:05:19

    dovrebbe essere bloccante... o no?

  4. #4
    Sicuramente aspetta che l'invio di un ping sia terminato prima dell'invio del ping successivo, quello che però credo è che non aspetti la risposta del ping inviato, penso almeno.

    Ovvero, lancia il ping e va avanti a lanciarne un altro, non si cura di ricevere però.

  5. #5
    E qualora fosse come dici tu, esiste qualke altro comando simile a questo ke aspetta le risposte dei ping?

  6. #6
    Eh, non ne ho la più pallida idea

    Prova a vedere magari anche sui forum di linux

    Inoltre ti consiglio di vedere cosa resituisce l'esecuzione di ping, che stringa tira fuori, così almeno sei sicuro che ping serva solo a spedire o aspetta anche la risposta.

  7. #7
    Sembra che nn faccia ping contemporanei... me ne accorgo dall'orario di inserimento dati nel db. Secondo voi posso finalmente dedurre che questo comando è ottimo?

  8. #8
    In pratica tu fai:

    shell_exec('ping .....');
    shell_exec('ping .....');
    shell_exec('ping .....');
    shell_exec('ping .....');

    giusto? E' vuoi sapere se il 2° ping lo inizia quando finisce il primo? La risposta è si. Anke perché nel manuale dice:

    Esegue un comando attraverso la shell e restituisce l'output completo come stringa e poi fa l'esempio:

    <?php
    $output = shell_exec('ls -lart');
    echo "<pre>$output</pre>";
    ?>

    Cioé shell_exec termina quando termina il comando che gli dai come input.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.