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

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

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

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

  • Ctrl+c - इसका उपयोग प्रोग्राम के निष्पादन को रोकने के लिए किया जाता है, i/o संचालन को पूरा करने में थोड़ा समय लगता है और फिर निष्पादन को निलंबित कर देता है। यह एक SIGINT . भेजता है प्रक्रिया को संकेत जो समाप्त हो जाता है। कुछ भाषाओं में, इसे SIGINT संभालने के तरीके हैं सी में सिग्नल फ़ंक्शन की तरह।

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

यहां, हम एक कोड लिखेंगे जो ctrl+z कॉल को पार करने में सक्षम होगा। और निलंबित होने के बजाय प्रोग्राम प्रिंट करेगा "ctrl+z इस कोड को निलंबित नहीं कर सकता .

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

इस प्रकार की चीज़ को संभालने के लिए सिग्नल () पद्धति का उपयोग किया जाता है।

उदाहरण

#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;
}

आउटपुट

// an infinite loop

  1. स्निप नहीं भेजा जा सका, जांचें कि एक ईमेल प्रोग्राम स्थापित है स्निप नहीं भेजा जा सका, जांचें कि एक ईमेल प्रोग्राम स्थापित है

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

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

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

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

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