मेरे पास एक मिनी 2440 एआरएम बोर्ड है, और मैंने इसका उपयोग करते हुए एक बेस डेबियन 6.0 सिस्टम लगाया है multistrap
।
मैंने tmux
कई प्रक्रियाओं को चलाने के लिए उपयोग किया है जिसमें से फ़र्नीचर विंडो में है /etc/rc.local
। मैं इसके पोर्ट getty
पर चलने के लिए इसके सीरियल पोर्ट और इनटैब एंट्री का उपयोग कर बोर्ड से जुड़ता हूं । मैं picocom
धारावाहिक संचारक के रूप में उपयोग करता हूं ।
जब रूट लॉग होता है, तो ~/.bashrc
उसे पहले से चल रहे tmux सर्वर से जोड़ देता है, और प्रक्रियाओं पर आसानी से नजर रखी जा सकती है। वास्तविक कमांड है exec tmux attach-session -t "main"
। tmux डिफ़ॉल्ट कॉन्फिग से चलता है।
सब कुछ काम करता है, प्रक्रियाओं में से एक को छोड़कर (चारों ओर एक शेल स्क्रिप्ट pppd
) Ctrlcटर्मिनल से प्राप्त नहीं होता है, जबकि अन्य प्रक्रियाएं करते हैं। भी Ctrl\काम करता है। भी kill -INT <pppd_pid>
काम करता है, लेकिन kill -INT <shellscript_pid>
नहीं करता है।
मुझे वास्तव Ctrlcमें काम करने की जरूरत है। इस सेटअप में क्या गलत है?
संपादित करें: यहां stty -a
शैल स्क्रिप्ट का आउटपुट है , ठीक पहले pppd
:
speed 38400 baud; rows 23; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
चूंकि यह सिर्फ pppd
प्रक्रिया है जिसमें यह मुद्दा है, मुझे लगता है कि इसके या इसके कॉन्फ़िगरेशन के साथ कुछ करना है, लेकिन जब मैं pppd
tmux के बाहर चलाता हूं , तो Ctrl-C काम करता है। विकल्प के pppd
साथ चलता nodetach
है, इसलिए यह टर्मिनल अग्रभूमि में रहता है।
मैंने उसी परिणाम के साथ अपनी देव मशीन (डेबियन 6.0 पर amd64) पर भी इसका परीक्षण किया।
^
और Ctrl-C इसमें एक जोड़ता है C
।
trap
शेल स्क्रिप्ट में एक कमांड है?
pppd
इसमें यह नहीं कहा गया है कि इसका अंतर्निहित शेल एक प्रत्यक्ष हस्ताक्षर के साथ क्या करने का फैसला करता है। एक छोटे से शेल स्क्रिप्ट को लिखने की कोशिश करें जो आक्रमण / बिन / नींद 600 करता है और शेल प्रक्रिया को एक SIGINT भेजता है, आपको एक ही बात दिखाई देगी।
stty -a
दिखाने केintr = ^C
? यदि नहीं, तोintr
सेटिंग क्या है ? (नोट:stty -a | grep intr
यह काम नहीं करेगा, क्योंकि यहstty
आपके tty के बजाय एक पाइप को लिखता है।) क्या Ctrl-V Ctrl-C इको है^C
? यदि नहीं, तो क्या प्रतिध्वनित होता है?