सिर्फ 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)
से खेल को फिर से शुरू करने के लिए।