अस्वीकार्य या नहीं, यह वास्तव में असंभव है:
नियंत्रण + [?] कीबाइंडिंग वास्तव में tty ड्राइवर द्वारा नियंत्रित की जाती है और शेल द्वारा नहीं, क्योंकि जब तक अग्रभूमि में चलने वाली प्रक्रिया होती है, तब तक आपके टर्मिनल के इनपुट और आउटपुट को सीधे प्रक्रिया में भेजा जाएगा। शेल कभी भी आपके कुंजीपटों पर कार्य नहीं कर पाएगा (या देख भी सकता है)।
आप वर्तमान में निर्दिष्ट Ctrl + [?] कुंजी संयोजनों की एक सूची प्राप्त कर सकते हैं stty -a
; हालाँकि, केवल intr
(SIGINT, आमतौर पर Ctrl + C के लिए बाध्य होता है) quit
(SIGQUIT, आमतौर पर Ctrl + \ से बंधा होता है) और susp
(SIGSUSP, आमतौर पर Ctrl + Z से बंधा होता है) वास्तविक यूनिक्स संकेतों के अनुरूप होता है। ( kill,
उदाहरण के लिए, SIGKILL नहीं भेजता है, लेकिन वर्तमान इनपुट को हटा देता है।)
दुर्भाग्यवश, दो संकेतों में से एक को भेजने का कोई तरीका नहीं है जिसे एक प्रक्रिया (SIGKILL और SIGSTOP) द्वारा अक्षम नहीं किया जा सकता है, इसलिए यदि तीनों में से सभी संकेत का कोई प्रभाव नहीं है, तो आपको किसी अन्य तरीके का उपयोग करना होगा ( अग्रभूमि प्रक्रिया को मारने के लिए एक और शेल)।
(वास्तव में, तीनों संकेतों को पकड़ने के अलावा, अग्रभूमि प्रक्रिया भी विशेष कुंजी संयोजनों को "कच्ची" मोड पर सेट करके अक्षम कर सकती है। SSH ऐसा करता है, उदाहरण के लिए - यह है कि यह कैसे रिले कर सकता है। दूरस्थ होस्ट के लिए स्थानीय रूप से दबाया गया Ctrl + C।)