ฉันใช้คำสั่งด้านล่างและตรวจสอบไฟล์ที่ส่งออกในระบบอื่น ๆ :
ssh $ip_address 'for n in 1 2 3 4 5; do sleep 10; echo $n >>/tmp/count; done'
หากฉันฆ่าคำสั่ง ssh โดยใช้^C
หรือเพียงแค่ฆ่าเทอร์มินัลที่ฉันเข้าสู่ระบบฉันคาดว่าคำสั่งระยะไกลจะยุติเช่นกัน สิ่งนี้ไม่ได้เกิดขึ้น: /tmp/count
รับตัวเลขทั้งหมด 1-5 โดยไม่คำนึงถึงและps -ejH
แสดงให้เห็นว่าเชลล์และsleep
ลูกของมันยังคงทำงานต่อไป
นี่เป็นพฤติกรรมที่คาดหวังและมีการบันทึกไว้ที่ใดบ้างหรือไม่ ฉันจะปิดการใช้งานมันได้หรือไม่ จากการอ่านไปเรื่อย ๆ ฉันคาดว่าจะต้องเปิดใช้งานพฤติกรรมแบบนี้โดยไม่ต้องรออย่างชัดเจนไม่ใช่เพื่อให้เป็นค่าเริ่มต้น
ฉันได้ดูหน้าคู่มือสำหรับ ssh และ sshd แต่ไม่เห็นสิ่งที่ชัดเจนและ Google ชี้ให้ฉันดูคำแนะนำในการเปิดใช้งานพฤติกรรมนี้ไม่ใช่เพื่อปิด
ฉันใช้ Red Hat Enterprise Linux 6.2 พร้อมด้วยล็อกอินรูทและ bash shell บนทั้งสองระบบ
-tt
แทน-t
ถ้า ssh เองไม่มีการจัดสรร TTY SSH จะไม่ได้รับการจัดสรร TTY ถ้า SSH ได้รับ backgrounded ทันทีเมื่อภาวนาผ่านตัวเลือกเช่นหรือ-f
-n