सेल्फ-पाइप ट्रिक के बारे में अपने वेब पेज पर , डैन बर्नस्टीन एक दौड़ की स्थिति और संकेतों के साथ बताते हैं , एक वर्कअराउंड प्रदान करते हैं और निष्कर्ष निकालते हैं किselect()
बेशक, राइट थिंग
fork()
एक फाइल डिस्क्रिप्टर को वापस करना होगा , न कि एक प्रक्रिया आईडी।
इसका क्या मतलब है - क्या यह select()
उन राज्य परिवर्तनों को अधिसूचित करने के लिए सिग्नल हैंडलर का उपयोग करने के बजाय अपने राज्य परिवर्तनों को संभालने के लिए बाल प्रक्रियाओं पर सक्षम होने के बारे में कुछ है ?
signalfd
एस और इस तरह से एक चीज वापस आ गई थी?
wait()
रहे थे, तो ऐसी चीजें थीं जो आप नहीं कर सकते थे, इसलिए किसी ने SIGCHLD का आविष्कार किया, लेकिन यह एक बुरा काम था। मेरे अनुभव में, और अब है कि वे मौजूद हैं, अच्छा छिड़काव, nonblocking wait3()
, wait4()
, और / या waitpid()
प्रमुख स्थानों पर कॉल (शायद आपका मुख्य समारोह पाश) एक काफी बेहतर विकल्प नहीं है।