2011-09-23 17 views
14

पर अनंत लूप रोक मैं एक सरल अनंत for पाश इस तरह लग रही है:एक दूरस्थ सर्वर पीएचपी

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

यह मेरे सर्वर पर चल रहा है। (साझा होस्टिंग खाता)

पृथ्वी पर मैं इसे कैसे रोक सकता हूं?

+1

प्रक्रिया कमांड लाइन को मारना चाल करेगा। लिनक्स पर चल रहा है? http://linux.about.com/library/cmd/blcmdl_kill.htm –

+0

फ़ाइल को हटाएं? – Mob

उत्तर

13

प्रक्रिया को मार डालो। यह मानते हुए कि आप ssh के माध्यम से कंसोल पर पहुंच प्राप्त कर सकते हैं और अपने सर्वर लिनक्स पर चलता है:

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

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

आपको कैसे लगता है कि मुझे एसएसएच के माध्यम से पहुंच मिल सकती है? सर्वर लिनक्स/डेबियन है। – LouwHopley

+0

http://www.putty.org/ - बस डाउनलोड करें, सर्वर आईपी-एड्रेस, अपना उपयोगकर्ता नाम और पासवर्ड दर्ज करें और: voilà! – oezi

+0

@oezi मैं भी सर्वर पर एक स्क्रिप्ट लूपिंग था। मैं [अमेज़ॅन ec2] (http://aws.amazon.com/ec2/) सर्वर के बारे में बात कर रहा हूं। इस स्क्रिप्ट को मारने के लिए 'ps -x' और' sudo kill [proces_id] 'का उपयोग करें। बस बता रहा है ... :) –

1

आप अपने होस्टिंग सेवा से संपर्क करें और अपनी स्क्रिप्ट को मारने के लिए उन्हें पूछने के लिए चाहते हो सकता है। सबसे अधिक संभावना है कि आपके पास निष्पादन-पहुंच या एसएसएच-एक्सेस नहीं है। हो सकता है कि अगली बार जब आप एक अनंत लूप बनाते हैं तो आपको अपने प्रोग्राम को छोड़ने की संभावना बनाना चाहिए।

+0

इसे मारने का कोई तरीका रखने का अच्छा विचार। पढ़ने के लिए एक फाइल डालने जा रहे हैं। अगर "झूठा" पढ़ता है - मर जाओ। – LouwHopley

1

मैंने एसएसएच के माध्यम से लॉग इन किया और प्रक्रिया को मारने की कोशिश की लेकिन यह काम नहीं लग रहा था - संभवतः गलत प्रक्रिया क्योंकि वहां काफी कुछ थे।

आप हमेशा अंतिम उपाय के रूप में apache को पुनरारंभ कर सकते हैं; जो इसे ठीक करेगा ;-)

संबंधित मुद्दे