it-swarm.asia

Zaten çalışan bir işlemi Ekrana taşıma

Ofis işlerim beni düzenli olarak VNC aracılığıyla bir Linux kutusuna bağlı olarak görüyor.

Bazen konsolda uzak bir işe başladım ve daha sonra beklenenden çok daha uzun sürdüğünü fark ettim. (Öncelikle Ekranın altında buna başlamış olmalıydı ...)

Sadece VNC oturumunu açık tutmak için iş istasyonumun bir gece çalışmasını istemiyorum; Zaten çalışan uzak işi bir Ekran oturumuna (uzak kutuda) taşımak istiyorum, böylece iş istasyonunu kapatabilirim (ve ertesi sabah yeniden bağlanabilirim).

Bu nasıl yapılabilir?

232
DevSolar

Tam olarak bunu yapan reptyr adresine bir göz atın. Github sayfası tüm bilgilere sahiptir.

reptyr - "Yeniden ptying" programları için bir araç.

reptyr mevcut bir çalışan programı alıp yeni bir terminale bağlamak için bir yardımcı programdır. Ssh üzerinde uzun süredir devam eden bir süreç başlattı, ama ayrılmak zorundasınız ve bunu kesmek istemiyor musunuz? Sadece bir ekran başlatın, onu yakalamak için reptyr kullanın ve sonra ssh oturumunu öldürün ve eve gidin.

KULLANIM

reptyr PID

"reptyr PID" işlemi id PID ile yakalar ve mevcut terminalinize bağlar.

Takıldıktan sonra, işlem ^ C ve ^ Z dahil olmak üzere yeni terminalden girdi alır ve çıktıyı yazar. (Ne yazık ki, arka planı yaparsanız, hala eski terminalde "bg" veya "fg" yi çalıştırmanız gerekecektir. Kabuğunuzu yamalamadan makul bir şekilde düzeltmek imkansızdır.)

229
DaveJohnston

Bunu kolayca yapamazsın. Konsolu açtıktan sonra yaptığınız ilk şey olarak ekranı başlatmayı alışkanlık haline getirmenizi öneririm.

Ancak, asıl sorununuz için deneyebileceğiniz başka bir şey daha var: işinizi terminalden başlattıktan sonra, ctrl-z ve ardından bg yazarak arka plan yapın. Bundan sonra, işi ana Shell'den ayırın; bashta yapardın disown -h %<jobid>. Bundan sonra terminali güvenli bir şekilde kapatabilirsiniz ve iş çalışmaya devam eder.

46
earl

Linux kullanırken, yeni başlatılan ekran sürecinde retty kullanmaya ne dersiniz?

$ screen -S my_process
$ retty $(pgrep my_process)
/redraw

HTH

şerefe,

39
Rob Wells