Çalışan bir işlemi tara


24

Bazen bir programı bir ekran oturumu altında çalıştırmayı unutuyorum ve ortada durduramıyorum ve bunun uzun süreceğini biliyorum.

Çalışmakta olan bir işlemi yeniden başlatmadan taramanın bir yolu var mı?

Yanıtlar:


12

Bu cevabı serverfault sitesinde earl'dan buldu :

Ancak, asıl probleminiz için, deneyebileceğiniz başka bir şey daha var: işinizi terminalden başlattıktan sonra, yazarak arka plana ekleyin ctrl- zve sonra bg.
Bundan sonra, işi üst kabuğundan çıkarın bash: - disown -h %<jobid>. Bundan sonra, terminali güvenle kapatabilirsiniz ve iş çalışmaya devam edecektir.

Ve bu Rob Wells'in aynı sorusundan :

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


İşi tekrar ön plana çıkarmanın bir yolu var mı? 'ekran' sonra 'fg 1' benim için çalışmıyor
Putnik

@Putnik - açıklandığı gibi diğer adımları yaptınız mı?
warren

7

ServerFault'da bir yinelenen bulundu .

Bu yayında bulunmayan başka bir çözüm, bir ekran oturumuna başladıktan sonra retty kullanıyor .


5
Cevabımı sildim; 2 gün sonra kendi cevabınızı kabul edebilir (ve etmelisiniz). İlgili bölümleri burada belirtmekten çekinmeyin, çünkü siteler arası "kopyalar" farklı izleyiciler nedeniyle kopyalar değildir.
Jeff Atwood

4
Ancak Jeff'in önerisine göre ilgili kısımları alıntılamadınız. =)
David,

5

Tam olarak yapan reptyr'e bir bakın . Github sayfası tüm bilgilere sahiptir.

reptyr - "yeniden ptying" için bir araç

programları.

reptyr mevcut çalışan bir programı alıp yeni bir terminale eklemek için bir yardımcı programdır. Ssh üzerinden uzun süredir devam eden bir süreç başlattım, fakat ayrılmak zorunda kalmak zorunda değil miyiz? Sadece bir ekran başlatın, onu almak için reptyr kullanın ve ardından ssh oturumunu öldürün ve eve gidin.

KULLANIM

reptyr PID

"reptyr PID" kimliği PID ile alır ve mevcut terminalinize ekler.

Eklemeden sonra, işlem ^ C ve ^ Z de dahil olmak üzere yeni terminale girdi alır ve çıktı yazar. (Ne yazık ki, arkaplanı yaparsanız, eski terminalde "bg" veya "fg" komutunu çalıştırmanız gerekecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.