2011-09-23 17 views
14

Ho una semplice infinita for ciclo simile a questo:Fermare un ciclo infinito su un server remoto PHP

set_time_limit (0); 
for (;;) 
{ 
    ... //Doing some stuff including to write to a file 
    sleep(300); 
} 

E 'in esecuzione sul mio server. (Account di hosting condiviso)

Come mai posso fermarlo?

+1

Uccidere la riga di comando del processo farebbe il trucco. Funzionando su linux? controllare http://linux.about.com/library/cmd/blcmdl_kill.htm –

+0

Cancellare il file? – Mob

risposta

13

interrompere il processo. supponendo che si può ottenere l'accesso alla console tramite ssh e il server gira su Linux:

ps -ef | grep php // to get a list of php-processes 

kill [process-id] // kill the process by process-id 
+0

Come pensi di poter accedere tramite SSH? Il server è linux/Debian. – LouwHopley

+0

http://www.putty.org/ - basta scaricare, inserire i server ip-adress, il nome utente e la password e: voilà! – oezi

+0

@oezi Avevo anche uno script in loop sul server. Sto parlando del server [Amazon ec2] (http://aws.amazon.com/ec2/). Per uccidere questo script usa 'ps -x' e' sudo kill [proces_id] '. Basta dire ... :) –

1

Si potrebbe desiderare di contattare il servizio di hosting e chiedere loro di uccidere il vostro script. Molto probabilmente non hai accesso ad accesso o accesso ssh. Forse dovresti creare la possibilità di uscire dal tuo programma la prossima volta che crei un ciclo infinito.

+0

Buona idea di ucciderlo in qualche modo. Andando a mettere un file da leggere. Se legge "false" - muori. – LouwHopley

1

Ho effettuato l'accesso tramite SSH e ho provato ad uccidere il processo, ma non sembrava funzionare - probabilmente il processo errato perché ce n'erano parecchi.

È sempre possibile riavviare apache come ultima risorsa; che lo risolverà ;-)

Problemi correlati