Olası Kopya:
Başlamış bir işlemi Nohup/ekranlayabilir miyim?
Unix'te (özellikle Linux), düzenli bir ssh-> bash oturumunda bir işe başladım. Yakında işten ayrılmak istiyorum, ama şimdi işin birkaç saat alacağını anlıyorum.
Bu işe daha yeni başlamış olsaydım, ayrılabilir ve eve gidebilirdim. Ama etmedim.
İşi ssh oturumundan çıkarmanın herhangi bir yolu var mı, bu yüzden bilgisayarımı kapatabilirim (TCP bağlantıyı bırakarak ve ssh oturumunu öldürmek) ve programın çalışmaya devam etmesini sağlayabilir miyim?
Çıktısı umurumda değil - aslında, stdout'u bir dosyaya yönlendirdim. Sadece bitirmesini istiyorum.
İşlemi kesmek için
ctrl-z Tuşuna basabilir ve ardından arka planda çalışmasını sağlamak için
bg çalıştırabilirsiniz.
Bu şekilde arka plana sahip tüm işlemleri
jobs ile numaralandırılmış bir liste gösterebilirsiniz.
Ardından, işlemi terminalden ayırmak için
disown %1 (
1 Yerine
jobs ile işlem numarası çıktısını koyabilirsiniz) çalıştırabilirsiniz.
İsme rağmen,
disown çalıştırıldıktan sonra işlem hala size ait olacak, sadece başlattığınız terminalden ayrılacaktır.
Aradığınız komutun "reddedilmesi" olduğuna inanıyorum
Kullanın Nohup komutu & Çok güzel: Root @ index: ~ # Nohup/usr/bin/curl localhost/begemot.php & [1] 894 Root @ index: ~ # Nohup: girişi yok saymak ve çıktıyı `` Nohup.out '' 'A ve bu terminalin çıkışına eklemek, bir görev devam edecek ...
Bash Shell'inizden:
control+z
Ardından, işi arka planda çalıştırmaya devam etmek için:
bg
Daha sonra, işleminizin hala çalışıp çalışmadığını görmek için
jobs yazabilirsiniz.
reptyr iç ekran kullanırken, işlemi (veya çıktısını) ekrana taşıyabilirsiniz.
Bu sorunu önlemek için düzenli olarak kullandığım ana bilgisayarlara bağlandığımda otomatik olarak çalışacak
screen ayarına geçtim.
http://tlug.dnho.net/?q=node/239 bunu yapmanın bir yoludur, ancak başka varyasyonlar da vardır.
Seansın ortasında beklenmedik bir bağlantı kesildiğimde beni bir veya iki kez kurtardı ve aksi takdirde uzun soluklu bir şeye başlamadan önce
screen 'ı başlatmayı unuturdu.
Crtl-Z sonra bg kullanmak veya komutu kullanırken & kullanmak% 100'de güvenilir değildir. Çoğu durumda çalışır, ancak bazı durumlarda beklendiği gibi çalışmayabilir (G/Ç kullanımı, ...).
Ekran güvenilir bir çözümdür.
Eğer bash kullanıyorsanız, control-Z ve bg ile arka plandan şüphelenebilirsiniz.
İş kontrolü (man bash'tan)
If the operating system on which bash is running supports job control, bash contains facilities to use it. Typing the suspend character (typically ^Z, Control-Z) while a process is running causes that process to be stopped and returns control to bash. Typing the delayed suspend character (typically ^Y, Control-Y) causes the process to be stopped when it attempts to read input from the terminal, and control to be returned to bash.
yardım bg
bg: bg [job_spec ...] Place each JOB_SPEC in the background, as if it had been started with `&'. If JOB_SPEC is not present, the Shell's notion of the current job is used.
yardım işleri
jobs: jobs [-lnprs] [jobspec ...] or jobs -x command [args] Lists the active jobs. The -l option lists process id's in addition to the normal information; the -p option lists process id's only.
Önceden arka planda çalışmasını istediğinizi biliyorsanız, unix komutu at iyi bir seçenektir. Komutları planlanan zamanda arka planda başlatır, tıpkı tekrarlamayan bir cron işi gibi. Dağıtımınıza bağlı olarak, yüklemeniz ve atd arka plan programını başlatmanız gerekebilir.