ऐतिहासिक रूप से कीस्ट्रोक्स से जुड़े तीन संकेत थे ये थे
- SIGINT (व्यवधान) आमतौर पर Ctrl+ CयाDel
- SIGQUIT - छोड़ो - आमतौर पर Ctrl+ के लिए बाध्य है\
- SIGSUSP निलंबन - आमतौर पर Ctrl+ के लिए बाध्य हैZ
कुछ * निक्स फ्लेवर पर अन्य सिग्नल भी बंधे होते हैं, आप कमांड का उपयोग करके कीबोर्ड बाइंडिंग की जांच कर सकते हैं
stty -a
मेरे सिस्टम पर, OS / X, यह निम्नलिखित आउटपुट का उत्पादन करता है
speed 9600 baud; 65 rows; 213 columns;
lflags: icanon isig iexten echo echoe -echok echoke -echonl echoctl
-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
-extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel iutf8
-ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
-dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
stop = ^S; susp = ^Z; time = 0; werase = ^W;
कृपया ध्यान दें कि इस उदाहरण में किल वर्तमान इनपुट बफर को साफ़ करने के लिए एक KILL संकेत नहीं है।
SIGQUIT का उपयोग करके प्रक्रियाओं को रोकने के साथ आपको अधिक सफलता मिल सकती है, लेकिन यह सच नहीं हो सकता है क्योंकि प्रक्रिया सिग्नल को पकड़ सकती है और इसे अनदेखा कर सकती है।
"बाधित" प्रक्रियाओं की एक सूची की कोई अवधारणा नहीं है क्योंकि प्रक्रिया ने या तो पकड़ लिया है और रुकावट को नजरअंदाज कर दिया है या यह बाहर निकल गया है। आप नौकरी लिखकर निलंबित प्रक्रियाओं की सूची प्राप्त कर सकते हैं
stty -ixon
ताकि वे गुजरें। मुझे लगता है कि वे बदल जाएंगे<undef>
।