टर्मिनल के अंदर ^ S और ^ Z के बीच क्या अंतर है?


6

एक टर्मिनल एमुलेटर का उपयोग कर, एक किसी के साथ वर्तमान में चल रहे कार्यक्रम बंद कर सकते हैं CTRL-Zया CTRL-S। इन नियंत्रण वर्णों में क्या अंतर है?


जवाबों:


4

यह टर्मिनल के "स्टॉप" और "सस्पेंड" कार्यों के बीच का अंतर है।

Ctrl-S के साथ आउटपुट रोकना प्रक्रिया को चलने से नहीं रोकता है; बल्कि यह टर्मिनल के आउटपुट को बंद कर देता है (Ctrl-Q / "start" के साथ फिर से शुरू)।

Ctrl-Z के साथ एक प्रक्रिया को निलंबित करना वास्तव में इसे चलना बंद कर देता है, और प्रक्रिया को ps (राज्य "T") से दिखाई देने वाली एक अलग स्थिति में डालता है। अग्रभूमि या पृष्ठभूमि में क्रमशः प्रक्रिया को फिर से शुरू करने के लिए "एफजी" या "बीजी" के साथ फिर से शुरू करें।


rather it just stops output to the terminal- यह आम तौर पर एक साइड इफेक्ट के रूप में आवेदन को रोक देता है
यूजीन यर्मश

यदि एप्लिकेशन टर्मिनल से पढ़ने / लिखने की कोशिश करता है, तो यह रुक जाएगा, हाँ। यदि नहीं, तो ऐप चलता रहता है। यह दो तरीकों के बीच महत्वपूर्ण अंतर है।
फिल


... या, अधिक सटीक रूप से, "ब्लॉक"।
फरवरी को minmaxavg

3

CTRL- सिग्नल Zभेजता है SIGSTOP, जो प्रोग्राम को रोकने के लिए मजबूर करता है।

साथ में

fg

या

bg

आप इसे भेज सकते हैं SIGCONTऔर सामने या पृष्ठभूमि में शुरू कर सकते हैं ।

CTRL- Sटर्मिनल के लिए सामान का उत्पादन बंद कर देता है। ( XOFF) आप इसे फिर से चालू कर सकते हैं CTRL- Q( XON)


एक छोटा सुधार: कंट्रोल-जेड SIGTSTP भेजता है, SIGSTOP नहीं। उनके बीच एक महत्वपूर्ण अंतर यह है कि कार्यक्रम SIGTSTP को पकड़ सकते हैं या अनदेखा कर सकते हैं, लेकिन SIGSTOP नहीं। कार्यक्रम TSTP को पकड़ सकते हैं और निष्पादन को निलंबित करने से पहले सफाई कार्य कर सकते हैं, लेकिन STOP प्रक्रिया को बिना किसी सूचना के बंद कर देता है।
क्रिस पेज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.