2012-01-21 9 views
6

Come posso generare un processo in una pagina PHP per avviare un programma che sopravvive al tempo di esecuzione della richiesta?PHP spawn process

In altre parole, desidero che la pagina abbia una durata normale (pochi millisecondi) ma avvia un programma che continua a essere eseguito sul server. Grazie

+1

Ecco [un utile tutorial su questo argomento] (http://tuxradar.com/practicalphp/16/1/0) a cui ho fatto riferimento più volte. Potrebbe essere necessario ottenere alcune pagine per ottenere in modo specifico per elaborare il biforcarsi, ma l'intero bit vale la pena assorbire se si desidera entrare nella gestione dei processi con php. – rdlowrey

risposta

12

di questo codice:

<?php exec('nohup /usr/bin/my-command > /dev/null 2>&1 &'); ?> 

Questo forche il sotto-processo in secondo piano e scrive tutto l'output in /dev/null. In questo modo PHP continua a eseguire lo script come se non ci fosse alcun output che deve attendere.

+0

e per quanto riguarda Windows? qualsiasi equivalente? – marrat

+4

Non so su Windows. Sono un utente Linux. – TimWolla

+0

@TimWolla hai provato Windows 10? –

0

Suggerirei di utilizzare CRON se è necessario avviare un processo su base temporale.