เมื่อคุณออกเขียนไป/dev/pts/X
( /proc/6350/fd/0
, 1
และ2
เป็นเพียง symlink ไปว่า) สิ่งที่เกิดขึ้นคือสิ่งเดียวกันที่เกิดขึ้นเมื่อกระบวนการ6350
(หรือหนึ่งในลูก ๆ ของมันคดเคี้ยวเหมาะสม) บางสิ่งบางอย่างเอาท์พุท: มันจะเขียนไปยังสถานี
หากคุณพยายามอ่านจากอุปกรณ์นั้น ( cat < /dev/pts/X
) สิ่งต่าง ๆ จะเกิดขึ้น คุณจะเห็นสิ่งที่คุณพิมพ์ในเปลือกเดิมปรากฏขึ้น (อาจเป็นไปได้หลังจากบรรทัดใหม่แรกที่คุณพิมพ์ - ฉันคาดเดาว่าโปรแกรมเทอร์มินัล ( xterm
หรืออะไรก็ตามที่คุณใช้) ทำการบัฟเฟอร์บรรทัดบางส่วนและ6350
เชลล์ที่ถูกบล็อกบนread
รับชิ้นส่วนนั้นจากนั้นเชลล์อาจหรือ ไม่ชนะการอ่านที่ตามมา แต่ฉันอาจผิดอย่างสมบูรณ์เกี่ยวกับเรื่องนี้)
สิ่งนี้คือ: เมื่อคุณอ่านหรือเขียนไปยังอุปกรณ์นั้นคุณไม่ได้พูดคุยกับเชลล์ตัวอื่นที่ใช้งานอยู่ คุณกำลังพูดกับเทอร์มินัลอีมูเลเตอร์ ( xterm
ตัวอย่าง) เฉพาะเทอร์มินัลอีมูเลเตอร์เท่านั้นที่สามารถฉีดข้อมูลลงในช่องสัญญาณนั้น (สิ่งที่เชลล์อ่าน) และเชลล์ทั้งหมดที่เขียนไปยังเทอร์มินัล การแนบเปลือกที่สองจะไม่เปลี่ยน
หากคุณต้องการฉีดคำสั่งลงใน6530
กระบวนการนั้นจะต้องทำผ่านเทอร์มินัล (ไม่ว่าจะเป็นแอป X11 หรืออย่างอื่น)
การอ่านที่แนะนำ: อะไรคือความแตกต่างที่แน่นอนระหว่าง 'terminal', 'shell', 'tty' และ 'console'