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 -x
atau screen -D -RR
juga 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 control
dipanggil.
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 bash
proses dengan PID 7109. Ini juga akan membunuh screen -dr control
proses dengan PID 7387. Setelah itu, saya masih tidak dapat terhubung ke layar.
Proses SCREEN -S control
yang memulai sesi layar init
sebagai 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 -ls
dikatakan 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 ...)