Bozuk bir SSH oturumuna yeniden bağlanamıyor olsanız da, SSH içinde çalışan işlemi işlevsel olarak istediğinize eşdeğer bir şekilde geri alabilirsiniz.
Talimatlar
Senin durumunda, yeni bir SSH oturumundan, oturumundan veya benzeri şeylerden apt-getkontrol edilmek üzere süreci devralacaktın . Bunun için en sevdiğim komut buydu:screenreptyr
$ sudo apt-get install reptyr
$ ps ax | grep apt-get
10626 pts/8 R+ 0:32 apt-get upgrade
Ardından, işleminiz için bulduğunuz yardımla:
$ sudo reptyr -T 10626
Veya bu işe yaramazsa, şunu deneyin:
$ reptyr 10626
Bu aşamadan sonra, tüm klavye girişiniz üstlendiğiniz programa gider. Maalesef sizden apt-getonay isteyen çıkış gibi SSH oturumunun eski çıktısını görmeyeceksiniz .
açıklamalar
Temelde aynı reptyr(yani, ptracehata ayıklama eki ile) aynı çalışan birden çok araç vardır . Aşağıdaki sorulara ve cevapların tartışıldığı yerlere bakın:
Yukarıdaki talimatlarda, reptyr 10626kullanımları ptracesırasında ayıklama bağlanma sudo reptyr -T 10626komutu TTY çalmak kullanır ve tercih edilen (olup detayları ).
Son olarak, bir nedeni bu şekilde bir SSH oturumu boyunca alamaz nedeni sshdsüreci bir konak terminali tarafından kontrol edilmeyen, bunun yerine sağlayan bir - bir terminal köle bölümünü ptscihazının - Ana bölüm içinde bulunduğu kontrol ederken İstemci makinesi, aralarında parçalanmış bir SSH oturumu ile burada. Böyle bir sshdişlemi üstlenmeye zorladığınızda reptyr -s <pid>, klavye girişiniz aktif alt işlemine değil, bu işleme gider. Yani bir "Ctrl + Z" basitçe onu öldürür sshd.
apt-getSürecin hala devam etmesine şaşırdım . Tüm işlem zinciri ile birlikte SSH'ye kadar ölmüş olmalıydı. Bunundo-dist-upgradeotomatik olarakscreen/byobuoturumunda başladığını fark ettim : belki bazı durumlardaapt-getaynı mı?