मेरे पास php स्क्रिप्ट्स हैं जो विभिन्न चीजों को करने के लिए पर्ल स्क्रिप्ट को कॉल करती हैं और कभी-कभी मुझे यह मिलता है कि यह प्रतिक्रिया प्राप्त किए बिना आगे बढ़ता है, यह चर पर आधारित है जो पर्ल स्क्रिप्ट में पास किया जा रहा है और मैं कर रहा हूं उत्तराधिकार में बहुत सारे लोग इसलिए मुझे वास्तव में इसे डीबग नहीं किया जा सकता है क्योंकि मुझे perl से प्रतिक्रिया नहीं है ...किसी विशिष्ट फ़ंक्शन/कोड के ब्लॉक (संपूर्ण स्क्रिप्ट नहीं) के लिए टाइमआउट सेट करें?
मैं वास्तव में केवल एक php फ़ंक्शन या ब्लॉक सेट करने में सक्षम होना चाहता हूं कुछ निश्चित सेकंड के बाद टाइमआउट पर कोड .. मैं इस पर खोज कर रहा हूं लेकिन इसे अभी तक कुछ भी नहीं मिला है,
मैं ऐसा सोच रहा था जैसे ऐसा काम कर सकता है लेकिन मुझे नहीं लगता कि यह होगा गतिशील रूप से $ टाइम वैरिएबल अपडेट करें, लेकिन हो सकता है कि थाई प्राप्त करने का कोई तरीका हो काम करने के लिए? किसी भी सलाह की सराहना की
$time = time();
$timeout = $time + 5; //just as an example
do {
// do stuff
} while ($time < $timeout)
आप $$ के अंदर जबकि इसे अद्यतन करने के लिए, लेकिन यदि पर्ल कोड का आपका कॉल उस समय के अंदर है, तो यह काम नहीं करेगा अगर यह एक ऐसा कॉल है जो इसके उत्तर के लिए इंतजार कर रहा है। – Prix
हाँ समस्या है, तो मुझे लगता है कि यह perl की वापसी के लिए इंतजार कर रहा है इससे कोई फर्क नहीं पड़ता कि – Rick
क्या आपको वास्तव में रिटर्न की परवाह नहीं है, तो आप इसे अलग कर सकते हैं, जैसे आदेश: 'exec (" my_command_here>/dev/शून्य 2> &1 &"); 'जो पृष्ठभूमि पर आपके कोड को निष्पादित करेगा, आउटपुट को ब्लैक होल पर भेज देगा। इस प्रकार आपका PHP कोड चल रहा रहेगा लेकिन फिर आपको मौसम समाप्त होने के बारे में जानने के लिए एक अलग दृष्टिकोण की आवश्यकता होगी या नहीं ... आप कर सकते हैं उदाहरण के लिए अपनी perl फ़ाइल को पीआईडी फ़ाइल की तरह 1 या 0 के साथ फ़ाइल बनाएं और आप इसे अपने लूप से नियंत्रित कर सकते हैं जैसे कि आप चाहते थे। – Prix