nohup php file.php > /dev/null 2>&1 &
अधिक से अधिक-thans (>
) कहीं कार्यक्रम के उत्पादन अनुप्रेषित। इस मामले में, कुछ /dev/null
पर पुनः निर्देशित किया जा रहा है, और कुछ में, बाहर &1
स्टैंडर्ड पर पुनः निर्देशित किया जा रहा है, और त्रुटि
वहाँ एक कार्यक्रम के लिए इनपुट और आउटपुट के तीन मानक स्रोत हैं। मानक इनपुट आमतौर पर कीबोर्ड से आता है यदि यह एक इंटरैक्टिव प्रोग्राम है, या किसी अन्य प्रोग्राम से यदि यह अन्य प्रोग्राम के आउटपुट को प्रोसेस कर रहा है। कार्यक्रम आमतौर पर मानक आउटपुट को प्रिंट करता है, और कभी-कभी मानक त्रुटि के लिए प्रिंट करता है। ये तीन फ़ाइल डिस्क्रिप्टर (आप उन्हें "डेटा पाइप" के रूप में सोच सकते हैं) को अक्सर STDIN, STDOUT, and STDERR
कहा जाता है।
कभी-कभी उनका नाम नहीं दिया जाता है, वे गिने जाते हैं! उनके लिए अंतर्निहित संख्या 0, 1, and 2
है, उस क्रम में। डिफ़ॉल्ट रूप से, यदि आप स्पष्ट रूप से नाम या नंबर नहीं देते हैं, तो आप STDOUT
के बारे में बात कर रहे हैं।
उपरोक्त आदेश मानक आउटपुट को /dev/null
पर रीडायरेक्ट कर रहा है, जो एक ऐसा स्थान है जहां आप जो कुछ भी नहीं चाहते हैं उसे डंप कर सकते हैं, फिर मानक त्रुटि को मानक आउटपुट में रीडायरेक्ट कर सकते हैं (आपको गंतव्य के सामने &
रखना होगा यह करो)।
इसलिए, संक्षिप्त विवरण यह है कि "इस कमांड से सभी आउटपुट को ब्लैक होल में ले जाना चाहिए।" यह प्रोग्राम वास्तव में शांत होने का एक अच्छा तरीका है!
&
अंत में पृष्ठभूमि में आदेश डालता है।
रेफरी: https://www.xaprb.com/blog/2006/06/06/what-does-devnull-21-mean/
इसका मतलब क्या है कि यह जल्दी से समाप्त हो जाता है? अंत में और आपकी स्क्रिप्ट पृष्ठभूमि में चलते समय शेल कमांड निष्पादित करना जारी रखने के लिए आपको तुरंत संकेत देगा .. आप देख सकते हैं कि यह अभी भी "नौकरियां" टाइप करके चल रहा है – Zak
क्या आपने त्रुटि_ रिपोर्टिंग (E_ALL) और सेटिंग सेट करने का प्रयास किया था display_errors = 1? कुछ त्रुटियां हो सकती हैं और आपकी प्रक्रिया असामान्य रूप से – marcelog
को समाप्त कर सकती है: exec ("nohup php file.php>/dev/null 2> &1 &"); –