Saya sebelumnya telah menyambung kembali ke sesi layar yang sudah berjalan lama dengan screen -dr control. Namun, kadang-kadang perintah ini tidak akan terpasang kembali ke layar dan sebagai gantinya menggantung selamanya (10+ menit setelah itu saya dibatalkan). Ini hanya terjadi ketika koneksi SSH terjatuh secara tiba-tiba dan tidak ketika layar dilepaskan dengan benar Ctrl-A d. Switch lain, seperti screen -xatau screen -D -RRjuga tidak berfungsi.
Posting ini menyarankan untuk membunuh PTY yang memegang sesi layar yang akan menyebabkan layar menyelesaikan pemutusannya. Namun, itu hanya membunuh shell dari mana screen -dr controldipanggil.
Sebagai contoh:
$ 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
Posting tertaut menyarankan untuk menghentikan bashproses dengan PID 7109. Ini juga akan membunuh screen -dr controlproses dengan PID 7387. Setelah itu, saya masih tidak dapat terhubung ke layar.
Proses SCREEN -S controlyang memulai sesi layar initsebagai induknya yang saya jelas tidak bisa membunuh.
Apakah ada cara untuk menyambung kembali ke sesi layar gantung?
Pembaruan: Ini terjadi pada CentOS 6.4 menggunakan kernel 2.6.32-358.6.1.el6.x86_64. Kerang semua versi bash 4.1.2 (1) -release.
screen -lsdikatakan dalam kasus "menggantung" itu?screen -d -r <session>berarti "lepaskan dan pulihkan" sehingga tidak melepaskannya secara langsung tidak masalah. (Dan untuk sering melakukannya, itu tidak ...)