แม้ว่าสรรพสิ่งนี้ไม่ใช่คำตอบสำหรับคำถามของคุณโดยตรง แต่ก็เกี่ยวข้องกับปัญหาที่คุณมี แทนการพยายามที่จะให้การเชื่อมต่อมีชีวิตอยู่ (การเชื่อมต่อทั้งหมดตายในที่สุด) คุณสามารถใช้ multiplexors ขั้วเช่นscreen
และtmux
ที่ทำให้ช่วงที่มีชีวิตอยู่ในพื้นหลังแม้ว่า terminal ของคุณได้รับการตัดการเชื่อมต่อ
เป็นหลักเมื่อคุณเข้าสู่เซิร์ฟเวอร์ SSH คุณจะเรียกใช้ทันทีscreen
ซึ่งจะสร้างและแนบเซสชันใหม่:
$ screen
จากนั้นคุณไปข้างหน้าและทำงานกับเชลล์ตามปกติ ตอนนี้หากการเชื่อมต่อหลุดเมื่อคุณกลับมาออนไลน์และเชื่อมต่อกับเซิร์ฟเวอร์ผ่าน SSH คุณจะได้รับรายการเซสชันปัจจุบันด้วย:
$ screen -ls
หากต้องการแนบเซสชันอีกครั้ง:
$ screen -r <session>
ที่<session>
เป็น PID หรือชื่อเซสชั่น คุณจะได้รับการเชื่อมต่อกับเซสชันอีกครั้งและคุณสามารถดำเนินการต่อจากที่ค้างไว้!
คุณสามารถแยกเซสชั่นและเชื่อมต่อจากที่บ้านเพื่อรับจากจุดที่แน่นอนที่คุณออก เพื่อแยกเซสชั่นที่คุณใช้C-a
ตามด้วยC-d
(thats Control + A
แล้วControl + D
)
มีการสอนออนไลน์อย่างง่ายเช่นกัน
การใช้screen
และtmux
บนเซิร์ฟเวอร์ระยะไกลถือว่าเป็นวิธีที่ดีที่สุดและเป็นที่ขอแนะนำ บางคนไปไกลเท่าที่จะมีscreen
เปลือกเข้าสู่ระบบเริ่มต้นดังนั้นเมื่อพวกเขาเชื่อมต่อพวกเขาเริ่มscreen
เซสชันใหม่ทันที