SIGSTOP और SIGTSTP में क्या अंतर है?


जवाबों:


153

दोनों संकेतों को एक प्रक्रिया को स्थगित करने के लिए डिज़ाइन किया गया है जिसे अंततः के साथ फिर से शुरू किया जाएगा SIGCONT। उनके बीच मुख्य अंतर हैं:

  • SIGSTOPएक संकेत है जो प्रोग्रामिक रूप से (उदाहरण के लिए kill -STOP pid) भेजा जाता है, जबकि SIGTSTP( sig nal - t erminal stop के लिए ) ttyएक कीबोर्ड पर आमतौर पर टाइप करने वाले उपयोगकर्ता द्वारा ड्राइवर के माध्यम से भेजा जा सकता है Control- Z

  • SIGSTOPअनदेखा नहीं किया जा सकता। SIGTSTPहो सकता है।


10
फैक्टॉइड: यदि आप एक लिनक्स प्रोग्रामर हैं, तो SIGTSTP वह है जो आपको Ctrl-Z का उपयोग करके मिलता है, जो कि बिना किसी शेल को चलाए किसी प्रक्रिया को बाधित करता है। यह आमतौर पर शेल को निलंबित नौकरी सूची में डालने का कारण बनता है।
सरल

@Archer मुझे आपकी टिप्पणी समझ में नहीं आती। क्या आपका मतलब है कि आपको विश्वास Control-Zहै कि आप ट्रिगर नहीं SIGTSTPकरते हैं या आपको लगता है कि ऐसा नहीं करना चाहिए?
जल्लीगेरे

@jlliagre मैंने एक करीबी सर्वेक्षण किया, और यह पता चला कि आप सही हैं। मैंने पिछली टिप्पणी को हटा दिया।
आर्चर

@Archer ठीक है, मेरा अनुमान है कि आप मैनुअल पेज शब्दावली से भ्रमित थे। terminal stopइसका मतलब है TSTP।
जलीगेरे

@ जैलीग्रे मैं चाहता हूं, लेकिन सिस्टम इसकी अनुमति नहीं देगा, यह कहता है कि मैं केवल डाउनवोट को रद्द कर सकता हूं यदि उत्तर संपादित किया जाता है ...
आर्चर

39

/usr/include/x86_64-linux-gnu/bits/signum.h

#define SIGSTOP     19  /* Stop, unblockable (POSIX).  */
#define SIGTSTP     20  /* Keyboard stop (POSIX).  */

6
सोलारिस 10 पर, हेडर फ़ाइल में संकेत परिभाषित किए गए हैं/usr/include/sys/iso/signal_iso.h
केंट पवार

2
फ्रीबीएसडी 11 में यह/usr/include/sys/signal.h
ग्रेग स्मिट

1

लक्षित प्रक्रिया द्वारा SIGSTOP को नजरअंदाज नहीं किया जा सकता है।

इसका एक अच्छा उदाहरण वीडियो प्लेयर है mpv, यह अनदेखा कर सकता है SIGTSTPलेकिन नहीं SIGSTOP

आप एक वीडियो चलाने के साथ परीक्षण कर सकते हैं:

kill -SIGTSTP $(pidof mpv) तथा kill -SIGSTOP $(pidof mpv)

निश्चित रूप kill -SIGCONT $(pidof mpv)से खेल को फिर से शुरू करने के लिए।

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