सिर्फ SIGSTOP और SIGTSTP संकेतों के बीच अंतर के बारे में सोच रहा था।
सिर्फ SIGSTOP और SIGTSTP संकेतों के बीच अंतर के बारे में सोच रहा था।
जवाबों:
दोनों संकेतों को एक प्रक्रिया को स्थगित करने के लिए डिज़ाइन किया गया है जिसे अंततः के साथ फिर से शुरू किया जाएगा SIGCONT। उनके बीच मुख्य अंतर हैं:
SIGSTOPएक संकेत है जो प्रोग्रामिक रूप से (उदाहरण के लिए kill -STOP pid) भेजा जाता है, जबकि SIGTSTP( sig nal - t erminal stop के लिए ) ttyएक कीबोर्ड पर आमतौर पर टाइप करने वाले उपयोगकर्ता द्वारा ड्राइवर के माध्यम से भेजा जा सकता है Control- Z।
SIGSTOPअनदेखा नहीं किया जा सकता। SIGTSTPहो सकता है।
Control-Zहै कि आप ट्रिगर नहीं SIGTSTPकरते हैं या आपको लगता है कि ऐसा नहीं करना चाहिए?
terminal stopइसका मतलब है TSTP।
/usr/include/x86_64-linux-gnu/bits/signum.h
#define SIGSTOP 19 /* Stop, unblockable (POSIX). */
#define SIGTSTP 20 /* Keyboard stop (POSIX). */
/usr/include/sys/iso/signal_iso.h
/usr/include/sys/signal.h
लक्षित प्रक्रिया द्वारा SIGSTOP को नजरअंदाज नहीं किया जा सकता है।
इसका एक अच्छा उदाहरण वीडियो प्लेयर है mpv, यह अनदेखा कर सकता है SIGTSTPलेकिन नहीं SIGSTOP।
आप एक वीडियो चलाने के साथ परीक्षण कर सकते हैं:
kill -SIGTSTP $(pidof mpv)
तथा
kill -SIGSTOP $(pidof mpv)
निश्चित रूप kill -SIGCONT $(pidof mpv)से खेल को फिर से शुरू करने के लिए।