केवल दो उपयोगकर्ता परिभाषित संकेत क्यों हैं?


11

एक लिनक्स सिस्टम में परिभाषित संकेतों की सूची में, उपयोगकर्ता परिभाषित सिग्नल ( SIGUSR1और SIGUSR2) के रूप में दो संकेत बताए गए हैं । अन्य संकेतों को विशिष्ट स्थितियों में उठाया या पकड़ा जाएगा, लेकिन उपयोगकर्ता के उपयोग के लिए SIGUSRs को छोड़ दिया जाता है।

तो केवल दो संकेत क्यों?

जवाबों:


13

ऐतिहासिक रूप से, यूनिक्स केवल इन दो संकेतों की थी, लेकिन आधुनिक प्रणालियों वास्तविक समय संकेत है SIGRTMIN... SIGRTMAX

सिग्नल एपीआई के निराला और महत्वहीन शब्दार्थ के कारण, लगभग कोई उपयोग का मामला नहीं है जहां पाइप जैसे अन्य संचार तंत्रों पर सिग्नल बेहतर होगा। इसलिए, एक नया सिग्नल नंबर आवंटित करना कभी आवश्यक नहीं देखा गया है।


धन्यवाद। मेरे मामले में मैं पुनर्निर्माण के लिए SIGUSR1 को संभालता हूं। इसका मतलब यह है कि जब व्यवस्थापक मेरी चलने की प्रक्रिया के कॉन्फ़िगरेशन को बदलना चाहता है, तो यह कॉन्फ़िगरेशन फ़ाइल को बदलता है और मेरे PID को SIGUSR1 भेजता है (यहां एक पाइप का उपयोग करना आसान है)। और मैं स्वच्छ प्रक्रिया बंद के लिए SIGUSR2 का उपयोग करता हूं। मेरे लिए इन दोनों के अलावा किसी अन्य सिग्नल का उपयोग करना आवश्यक नहीं था, लेकिन कुछ रनटाइम सुविधाओं को अन्य उपयोगकर्ता परिभाषित संकेतों को संभालकर लागू किया जा सकता है!
सईद

2
@saeedn आप क्लीन प्रोसेस शटडाउन के लिए SIGTERM का उपयोग क्यों नहीं करते? बस यही बात है। कई अन्य सर्वर कॉन्फ़िगरेशन फ़ाइलों को फिर से लोड करने के लिए एक संकेत के रूप में SIGHUP (जो केवल एक इंटरैक्टिव प्रक्रिया पर सार्थक है) का उपयोग करते हैं, इसलिए आप इस पर विचार कर सकते हैं।
रैंडम 832

@ Random832 आप सही कह रहे हैं, मुझे पता है कि आप क्या कहते हैं। लेकिन मैं जिस समस्या के बारे में सोच रहा था, वह यह था कि अगर मैं अपने 31 विकल्पों में से भाग गया तो क्या होगा?
saeedn

1
मुझे SIGRTMIN ... SIGRTMAX संकेतों के बारे में अधिक जानकारी कहां मिल सकती है? जब वे उपयोग किए जाते हैं तो उन्हें कहां परिभाषित किया जाता है?
स्ट्रबब्ल

6

सिग्नल केवल संचार का एक आदिम साधन प्रदान करते हैं। विशेष रूप से, उनके पास कोई भी जानकारी संलग्न करने का कोई तरीका नहीं है। प्राप्तकर्ता केवल संकेत संख्या जानता है, प्रेषक की पहचान नहीं। एकाधिक संकेतों को एक में रखा जा सकता है। इन सभी प्रतिबंधों को देखते हुए, संकेतों के लिए कई उपयोगी उद्देश्य नहीं हैं।

अधिक जटिल उद्देश्यों के लिए, इंटरैक्शन के अधिक जटिल साधनों का उपयोग करें, जैसे कि पाइप या सॉकेट।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.