screen -dr control
ฉันได้กลับคืนก่อนหน้านี้เซสชั่นหน้าจอยาวทำงานกับ อย่างไรก็ตามบางครั้งคำสั่งนี้จะไม่ติดกลับไปที่หน้าจอและแทนที่จะแขวนตลอดไป (10+ นาทีหลังจากที่ฉันยกเลิก) นี้จะเกิดขึ้นเมื่อการเชื่อมต่อ SSH Ctrl-A d
จะลดลงโดยไม่คาดคิดและไม่ได้เมื่อหน้าจอถูกถอดออกอย่างถูกต้องกับ สวิตช์อื่น ๆ เช่นscreen -x
หรือscreen -D -RR
ไม่ทำงาน
โพสต์นี้แนะนำให้ฆ่า PTY ที่เก็บเซสชั่นหน้าจอซึ่งจะทำให้หน้าจอเสร็จสิ้นการยกเลิกการเชื่อมต่อ อย่างไรก็ตามมันก็แค่ฆ่าเชลล์ที่screen -dr control
ถูกเรียก
ตัวอย่างเช่น:
$ ps -ef | grep control | grep -v grep
nomad 7387 7109 0 13:05 pts/50 00:00:00 screen -dr control
nomad 15299 1 0 Nov27 ? 00:13:47 SCREEN -S control
$ ps -ef | grep bash | grep 'pts/50'
nomad 7109 7108 0 12:49 pts/50 00:00:00 -bash
โพสต์ที่เชื่อมโยงแนะนำให้ฆ่าbash
กระบวนการด้วย PID 7109 ซึ่งจะเป็นการฆ่าscreen -dr control
กระบวนการด้วย PID 7387 หลังจากนั้นฉันยังคงไม่สามารถเชื่อมต่อกับหน้าจอได้
กระบวนการSCREEN -S control
ที่เริ่มเซสชันของหน้าจอinit
เป็นกระบวนการที่ฉันไม่สามารถฆ่าได้
มีวิธีการใส่กลับไปที่เซสชันหน้าจอที่หยุดชั่วคราวหรือไม่
อัปเดต: สิ่งนี้เกิดขึ้นกับ CentOS 6.4 โดยใช้เคอร์เนล 2.6.32-358.6.1.el6.x86_64 เชลล์เป็น bash เวอร์ชัน 4.1.2 (1) -release
screen -ls
พูดในกรณี "ห้อย" เหล่านั้น?screen -d -r <session>
หมายถึง "แยกออกและกู้คืน" ดังนั้นการถอดแยกออกจากมือแรกไม่ควรสำคัญ (และสำหรับการทำมันบ่อยๆมันก็ไม่ ... )