Ofis işim rutin olarak beni VNC üzerinden bir Linux kutusuna bağlıyor.
Bazen konsolda uzak bir işe başlıyorum ve daha sonra beklenenden daha uzun sürdüğünü anlıyorum. (İlk etapta bir ekrana başlamalıydı ...)
VNC oturumunu açık tutmak için iş istasyonumun bir gecede çalışmaya devam etmesini istemiyorum; Bu zaten çalışan uzaktan işi bir Screen oturumuna (uzak kutuda) taşımak istiyorum, bu yüzden iş istasyonunu kapatıp (ve ertesi sabaha tekrar bağlan).
Bu nasıl yapılabilir, hiç değilse?
Şuna bir bak reptyr, tam olarak bunu yapar. Github sayfası tüm bilgilere sahiptir.
reptyr - "yeniden ptying" programları için bir araç.
reptyr bir almak için bir yardımcı programdır
mevcut çalışan program ve ekleme
yeni bir terminale. Başladı
ssh üzerinden uzun süren işlem
ayrılmak ve istememek
kesmek mi? Sadece bir ekran başlat, kullan
Reptyr onu kapmak ve sonra öldürmek
ssh oturumu ve eve baş.
KULLANIM
reptyr PID
"reptyr PID" süreci kapacak
kimlik PID ile ve ona eklemek
mevcut terminal
Ekledikten sonra işlem gerçekleşecek
çıktıyı yeni girdiye yaz ve yaz
^ C ve ^ Z dahil olmak üzere terminal.
(Ne yazık ki, eğer arka plan yaparsanız,
"bg" yi çalıştırmanız gerekecek veya
Eski terminalde "fg". Bu
büyük ihtimalle düzeltmek imkansız
yama olmadan makul bir şekilde
kabuk.)
Bunu kolayca yapamazsın. Konsolu açtıktan sonra yaptığınız ilk şey olarak ekrana başlamak için alışkanlık haline getirmenizi öneririm.
Ancak, gerçek probleminiz için, deneyebileceğiniz başka bir şey var: işinizi terminalden başlattıktan sonra, ctrl-z yazıp bg
. Bundan sonra işi ana kabuktan ayırın; bash yaparsın disown -h %<jobid>
. Bundan sonra, terminali güvenle kapatabilir ve iş çalışmaya devam edecektir.
Linux'u kullanırken, yeni başlatılan ekran sürecinin içinde retty'yi kullanmaktan ne haber?
$ screen -S my_process
$ retty $(pgrep my_process)
/redraw
HTH
şerefe,