L’arresto di un ciclo infinito su un server remoto PHP

Ho un semplice infinita for loop di questo tipo:

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

È in esecuzione sul mio server. (Shared hosting account)

Come diavolo posso fermarlo?

InformationsquelleAutor LouwHopley | 2011-09-23

 

3 Replies
  1. 13

    uccidere 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
    • Come pensi che si può accedere via SSH? Il Server è linux/Debian.
    • putty.org – basta scaricare, immettere il server indirizzo ip, il nome utente e la password e: voilà!
    • Ho avuto anche uno script loop sul server. Sto parlando di Amazon ec2 server. Per uccidere questo script utilizzare ps -x e sudo kill [proces_id]. Dire… 🙂
    • Alcuni di hosting condiviso non consente SSH, si può provare phpshell.sourceforge.net è inoltre necessario mettere in php.ini nella stessa cartella come phpshell script, e coument out modalità provvisoria e disabili funzioni
  2. 2

    Si potrebbe desiderare di contattare il servizio di hosting e chiedere loro di uccidere i vostri script. Probabilmente non devi eseguire l’accesso o ssh-accesso. Forse si dovrebbe costruire una possibilità di chiudere il programma, la prossima volta che si crea un loop infinito.

    • Buona idea mettere qualche modo di ucciderlo. Andando a mettere un file da leggere. Se si legge “false” – die.
  3. 2

    Mi sono collegato via SSH e ha cercato di uccidere il processo, ma non sembra funzionare – forse è il corretto processo come non erano pochi, c’.

    Si può sempre riavviare apache come ultima risorsa, che verrà correzione 😉

Lascia un commento