เมื่อฉัน SSH เข้าสู่ระบบอื่นและกดCtrl- Zฉันคาดหวังให้ไคลเอ็นต์ SSH เข้าสู่พื้นหลัง อย่างไรก็ตามมันเป็นกระบวนการระยะไกลที่ทำเช่นนั้น ความมหัศจรรย์เกิดขึ้นที่ไหน?
เมื่อฉัน SSH เข้าสู่ระบบอื่นและกดCtrl- Zฉันคาดหวังให้ไคลเอ็นต์ SSH เข้าสู่พื้นหลัง อย่างไรก็ตามมันเป็นกระบวนการระยะไกลที่ทำเช่นนั้น ความมหัศจรรย์เกิดขึ้นที่ไหน?
คำตอบ:
ไคลเอ็นต์ SSH ปิดใช้งานการจัดการคีย์พิเศษ ( stty -icanon -isig
ตัวเลือก) สำหรับ tty โลคัลดังนั้นเมื่อคุณกดCtrlZไคลเอ็นต์จะอ่านไบต์ดิบ0x1A
และส่งต่อไปยังเซิร์ฟเวอร์
OpenSSH สนับสนุนคำสั่งพิเศษที่จะระงับลูกค้า - Enterแล้วตามด้วย~CtrlZ
Ctrl-Z
ถูกดัดแปลงแทน~ Ctrl-Z
การเพิ่มใหม่เพื่อหยุดกระบวนการรีโมต?
~?
เพื่อรับรายการรหัสการยกเว้นทั้งหมด คุณสามารถเปลี่ยนอักขระยกเว้นโดยใช้ -e เมื่อคุณเริ่ม ssh (ใช้กับ openssh ซึ่งใช้กับระบบ Gnu ส่วนใหญ่)