Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Exec() temporizzata

  1. #1

    Exec() temporizzata

    Salve a tutti, ho la necessità di eseguire all'interno di una funzione php una chiamata di sistema exec(). Il problema principale è che non sempre ciò che viene richiamato dalla exec riesce a terminare (ci sono casi in cui l'esecuzione continua all'infinito). Per evitare che tutta l'applicazione rimanga "appesa" sulla exec (nel caso tale funzioni non termini) volevo sapere se esisteva un modo per fare una chiamata ad una exec "temporizzata".
    Mi spiego meglio, la mia funzione php dovrà eseguire una determinata procedura, avviata dal comando exec, solo per un tempo x determinato. In pratica essa se ce la fa ad eseguire il tutto entro il tempo x, bene; altrimenti la funzione php dovrà essere interrotta.
    Vi ringrazio in anticipo.

  2. #2
    Dai un occhio qui exec()

    Se vai in fondo trovi un commento di un utente (riporto una parte di codice)
    Codice PHP:
     function PsExecute($command$timeout 60$sleep 2
    Da quanto si vede sembra proprio ci sia la possibilità.
    Facci sapere se riesci a risolvere il tuo problema

  3. #3
    Ho notato quella funzione subito dopo aver postato su questo forum.
    L'ho provata ma purtroppo è difettosa. Il programma rimane comunque in attesa della terminazione della prima exec lanciata e se, come nel mio caso, la procedura lanciata dalla exec è infinita, il programma si pianta in quel punto.

    Ho tentao perciò di "forkare" la funzione, ho trovato la funzione pcntl_fork() (o qualcosa si simile) ma pare che tale funzione non funzioni con il server web apache

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.