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.
sumber
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 ...)Jawaban:
Saya pikir Anda harus mencoba
lain kali - pemanggilan yang marah (huruf besar) harus memaksanya untuk memutuskan sesi lain yang diadakan oleh hop netcat perantara Anda.
sumber
Seperti yang disarankan oleh Jens Timmerman, alasan utama untuk perilaku aneh ini adalah bahwa saya terhubung ke server jarak jauh menggunakan SSH ProxyCommand dan
ncat
. Setelah mematikanncat
pada mesin perantara, saya dapat menghubungkan kembali ke sesi layar.sumber
Jika ini adalah masalah yang sering Anda dapat mempertimbangkan menggunakan mosh sebagai pengganti ssh:
http://mosh.mit.edu
sumber