Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

एक C प्रोग्राम लिखें जो Ctrl+C दबाने पर समाप्त नहीं होता है

इस खंड में हम देखेंगे कि सी में एक प्रोग्राम कैसे लिखना है जिसे Ctrl + C कुंजी द्वारा समाप्त नहीं किया जा सकता है।

Ctrl + C कीबोर्ड इंटरप्ट उत्पन्न करता है, और यह वर्तमान प्रक्रिया के निष्पादन को रोकता है। यहां जब हम Ctrl + C कुंजी दबाएंगे, तो यह एक संदेश प्रिंट करेगा और निष्पादन जारी रखेगा। इस कार्यक्षमता का उपयोग करने के लिए, हम सी में सिग्नल हैंडलिंग तकनीक का उपयोग करेंगे। जब Ctrl + C दबाया जाता है तो यह SIGINT सिग्नल उत्पन्न करता है। निम्नलिखित सूची में कुछ अन्य संकेत और उनके कार्य हैं।

<टेबल><थेड>सिग्नल
<वें शैली ="पाठ-संरेखण:केंद्र;">विवरण
SIGABRT
असामान्य समाप्ति का संकेत देता है
SIGFPE
फ़्लोटिंग पॉइंट अपवाद को इंगित करता है
सिगिल
अवैध निर्देश को दर्शाता है।
सिगिनट
कार्यक्रम को भेजे गए इंटरैक्टिव ध्यान अनुरोध को दर्शाता है।
SIGSEGV
अमान्य मेमोरी एक्सेस को दर्शाता है।
SIGTERM
कार्यक्रम को भेजे गए समाप्ति अनुरोध को इंगित करता है।


यहां हम इन संकेतों को संभालने के लिए मानक सी लाइब्रेरी फ़ंक्शन सिग्नल () का उपयोग करेंगे।

उदाहरण कोड

#include <stdio.h>
#include <signal.h>
void sigint_handler(int signum) { //Handler for SIGINT
   //Reset handler to catch SIGINT next time.
   signal(SIGINT, sigint_handler);
   printf("Cannot be stopped using Ctrl+C \n");
   fflush(stdout);
}
main () {
   signal(SIGINT, sigint_handler);
   while(1) { //create infinite loop
   }
}

आउटपुट

Cannot be stopped using Ctrl+C
Cannot be stopped using Ctrl+C

  1. सी प्रोग्राम पीजीएम प्रारूप में एक छवि लिखने के लिए

    PGM पोर्टेबल ग्रे मैप है। अगर हम पीएनजी, जेपीईजी, या किसी अन्य छवि प्रारूप में छवियों के रूप में सी में 2 डी सरणी स्टोर करना चाहते हैं, तो हमें फ़ाइल में लिखने से पहले डेटा को कुछ निर्दिष्ट प्रारूप में एन्कोड करने के लिए बहुत काम करना होगा। नेटपीबीएम प्रारूप एक आसान और पोर्टेबल समाधान देता है। नेटप

  1. विंडोज 11 में सभी नॉट रेस्पॉन्डिंग प्रोग्राम प्रोसेस को कैसे खत्म करें?

    जब आप जिस प्रोग्राम का उपयोग कर रहे हैं वह आपके कार्यों का जवाब देना बंद कर देता है, तो यह संभवतः क्रैश और जल गया है। एक गैर-उत्तरदायी प्रोग्राम सबसे आम प्रकार के सॉफ़्टवेयर क्रैश में से एक है। प्रतिक्रिया नहीं देने वाली प्रोग्राम प्रक्रिया के लिए त्रुटि संदेश कहता है:एप्लिकेशन प्रतिसाद नहीं दे रहा

  1. त्रुटि 1083, निष्पादन योग्य प्रोग्राम जिसे सेवा चलाने के लिए कॉन्फ़िगर किया गया है वह सेवा को लागू नहीं करता है

    यदि आप त्रुटि 1083 प्राप्त करते हैं, तो निष्पादन योग्य प्रोग्राम जिसे इस सेवा को चलाने के लिए कॉन्फ़िगर किया गया है, सेवा को लागू नहीं करता है Windows सेवा प्रबंधक का उपयोग करके सेवा प्रारंभ करते समय; तो यह पोस्ट आपको समस्या का निवारण करने में मदद करेगी। चूंकि लगभग हर प्रोग्राम को आपके कंप्यूटर पर च