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

C प्रोग्राम जो Ctrl+Z दबाने पर सस्पेंड नहीं होता


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

कोड के ब्लॉक को समाप्त करने के लिए, दो प्रकार के कीबोर्ड शॉर्टकट उपयोग किए जाते हैं।

  • Ctrl+C − यह प्रोग्राम के निष्पादन को रोकने के लिए उपयोग किया जाता है, यह I/O ऑपरेशन पूरा करने में थोड़ा समय लेता है और फिर निष्पादन को सस्पेंड करता है। यह प्रक्रिया को SIGINT सिग्नल भेजता है जो समाप्त हो जाता है। कुछ भाषाओं में, इस SIGINT को संभालने के तरीके हैं जैसे C में सिग्नल फंक्शन।

  • Ctrl+Z − यह प्रोग्राम के निष्पादन को रोकने के लिए उपयोग किया जाता है, प्रक्रिया से संबंधित सभी कार्य बंद हो जाते हैं और निष्पादन सस्पेंड हो जाता है। यह प्रक्रिया को SIGTSTP सिग्नल भेजता है जो प्रोग्राम को समाप्त करता है, हालांकि कार्यान्वयन समान है लेकिन यह सिग्नल दूसरों की तुलना में अधिक शक्तिशाली है। इसे भी संभाला जा सकता है।

यहां, हम एक ऐसा कोड लिखेंगे जो ctrl+z कॉल को पार कर सके। और सस्पेंड होने के बजाय प्रोग्राम "ctrl+z cannot suspend this code" प्रिंट करेगा।

जैसा कि ऊपर चर्चा की गई है, ctrl+z कॉल को C प्रोग्रामिंग भाषा में संभाला जा सकता है। जब प्रोग्राम की प्रक्रिया को समाप्त करने के लिए SIGTSTP सिग्नल लागू किया जाता है। हम इस सिग्नल के कार्य को पुनः परिभाषित करेंगे ताकि यह कोड को समाप्त न करे और उपयोग किए जाने पर एक लाइन प्रिंट करे।

इस प्रकार की चीजों को संभालने के लिए signal() मेथड का उपयोग किया जाता है।

उदाहरण

#include <stdio.h>
#include <signal.h>
void signalhandler(int sig_num){
    signal(SIGTSTP, signalhandler);
    printf("Cannot execute Ctrl+Z\n");
}
int main(){
    int a = 1;
    signal(SIGTSTP, signalhandler);
    while(a){
    }
    return 0;
}

आउटपुट

// एक अनंत लूप

  1.  The snip could not be sent  त्रुटि - जांचें कि ईमेल प्रोग्राम इंस्टॉल है "The snip could not be sent" त्रुटि - जांचें कि ईमेल प्रोग्राम इंस्टॉल है

    Snipping Tool स्क्रीन के किसी क्षेत्र या संपूर्ण डेस्कटॉप क्षेत्र को कैप्चर करने के लिए एक आवश्यक सहायक उपकरण है। यह टूल ज्यादातर मौकों पर अच्छा काम करता है लेकिन कभी-कभी जब कोई उपयोगकर्ता ईमेल करने का प्रयास करता है, तो उसे कुछ संदेश दिखाई देते हैं जैसे - The snip could not be sent, Check that an e

  1. विंडोज 11/10 में फुल-स्क्रीन मोड में टास्कबार नहीं छिपता विंडोज 11/10 में फुल-स्क्रीन मोड में टास्कबार नहीं छिपता

    क्या आपका विंडोज 11 या विंडोज 10 टास्कबार फुलस्क्रीन वीडियो या गेम में दिखाई देता है? अगर जब आप फुल-स्क्रीन मोड पर वीडियो देख रहे हैं या गेम खेल रहे हैं लेकिन नोटिस करते हैं कि टास्कबार नहीं छिपता, तो इस पोस्ट के कुछ सुझाव निश्चित रूप से आपकी समस्या हल करने में मदद करेंगे। विंडोज 11/10 में फुलस्क्री

  1. त्रुटि 1083:  सेवा चलाने के लिए कॉन्फ़िगर किया गया प्रोग्राम सेवा लागू नहीं करता  - समाधान त्रुटि 1083: "सेवा चलाने के लिए कॉन्फ़िगर किया गया प्रोग्राम सेवा लागू नहीं करता" - समाधान

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