Macun oturumu kapattıktan sonra bir işlemi nasıl canlı tutabilirim?


41

Linux sunucusuyla etkileşimde macun kullanıyorum. Macun kullanarak bir işlem başlattım. İşlem devam ediyor ve 5-6 saat sürecek. Macun seansını kapattıktan sonra bu işlemin devam etmesini istiyorum. Macun seansını kapattıktan sonra bu süreci nasıl canlı tutabilirim? Bilgisayarı sürekli açık tutmak istemiyorum. Bunu yapmanın bir yolu var mı?

Yanıtlar:


32

Bu tür şeyler için ekran kullanıyorum . Aslında bazen sadece bir süre açık bırakıyorum ki yaptığım işe geri dönebiliyorum.


Süreç şu anda devam ediyor, bu süreç için işe yarıyor mu? Soruyorum çünkü süreç ortada ve şimdi yeniden başlatmak istemiyorum

Tartışmasız favori komut satırı aracımdan bahsettiğim için +1. Bu gibi durumlarda bir mücevher.
Noufal Ibrahim,

@ Hayır, tamamen! @prakash, herhangi bir işleme başlamadan önce ekranı çalıştırmanız gerekir
ziya

Birkaç makineye bağlanmak istiyorsanız, ilk ekranın içinde birkaç ekran çalıştırmak bile iyi bir fikir olabilir, böylece çalışan tüm uzaktan kumandalarınıza erişmek için tek bir ekrana bağlanmanız yeterlidir.

bağlantı artık çalışmıyor
Malky.Kid 16:18

31
^Z
bg %1
disown -h %1

'-H' oturumu tamamladığında işlemi SIGHUP'a bağışık kılar.


3
Süreci “yeniden düzenlemenin” veya “benimsemenin” mümkün olmadığını unutmayın; bunu yaptıktan sonra, onu hiçbir zaman ön plana çıkaramazsınız. İşlem, bazı dosyalar üretmek için çalışan bir toplu iş ise, bunun önemi yoktur.

19

nohupKomutu kullan . Sadece komutunuza önek verin; kabuk oturumunuzu kapattığınızda / sonlandırdığınızda durmalarını engellemek için onlara yardımcı olur. Standart çıktı, varsayılan olarak nohup.out adlı bir dosyada olacaktır. nohup(1)Daha fazla bilgi için kılavuz sayfasına bakınız .


işlem devam ediyor, bu işlem için işe yarıyor mu? Soruyorum çünkü işlem ortada ve şimdi yeniden başlatmak istemiyorum?

Çok geç ... en azından normal işlemler için. Sürece bir hata ayıklayıcı eklerseniz ve ardından uygun bir sistem çağrıları kümesiyle ayarladıysanız, belki de arkaplanda koyabileceğinizi bulmak şaşırtıcı olmaz. Fakat tavsiye edilebilecek bir şey değil - mesela rahatsız olmazdım, ve en azından ne olabileceği konusunda bir fikrim var. Şimdi iki seçeneğiniz var ... bitinceye kadar bağlı kalın ya da mevcut işlemi durdurun ve nohup kullanarak yeni bir tane başlatın.
Jonathan Leffler

1
Bash kullanıyorsanız (ve sanırım zsh), Tom Anderson'un çözümünü ve disownişlemini kullanabilirsiniz, böylece bağlantınız koparken bile çalışmaya devam eder.
Noufal Ibrahim

Yup - disown zaten çalışan bir işe gitmek için yol gibi görünüyor. Yapılabilir çünkü işi başlatan kabuk gereken özellikleri değiştirebilir.
Jonathan Leffler

5

İşlemi ile başlat nohup "processname" &. Ayrıca screenveya ile ayırabilirsiniz tmux.


3

Yukarıdaki çözümler oldukça iyi tanımlanmıştır, ancak bunların hiçbiri benim için işe yaramadı.

TCP koruma öğelerini etkinleştir (SO_KEEPALIVE seçeneği)

Bunu başka hiçbir yerde görmemiştim ve sadece deneme yanılma ile buldum.


1

Ctrl + z Geçerli işlemi arka plana gönder.

Ayrıca, komutun sonuna & arkaplanda çalışacak şekilde ekleyebilirsiniz.


3
Normal olarak, control-z, işlemi askıya alınmış bir animasyon durumuna geçirir; bg komutu arkaplana koyar. Bununla birlikte, bu işlem aynı zamanda terminale bağlı kalmasını sağlar, oysa noup terminalden ayrılır ve bu nedenle macunun bağlantının kesilmesine ve işlemin kopukluğa dayanabilmesine olanak sağlar.
Jonathan Leffler

Arka plana göndermek için '&' kullanmasının macunla çalıştığını gördüm, ancak doğrudan bir kabuktan ssh kullanarak bağlandığımda, bağlantıyı kapatırsam arka plan işlemi öldürülür. Neden hakkında bir fikrin var mı?
Zardoz89

0

Sürecin içerdiği programın arka planda daima veya sıkça çalışmasını istiyorsanız, onu kontrol terminalinden ayırmak için kodlayabilirsiniz (bu tür bir davranışı bir seçenek bayrağıyla kontrol edilebilir hale getirin) ve arka planda çalıştırın.

Bu, şu anda devam eden süreç için değil, elbette uzun vadeli bir çözüm.


0

&Bağlantıdan sonra kullanabilirsiniz .

Örnek:

[localhost ~ ]# wget http://www.link.com/download/download.zip &

Soru bir linkle ilgili değildi &, komut satırından sonra bir işaret eklemek mi istiyorsun ?
Danny,

0

Macunlu pencereyi kapattıktan sonra weblogic nasıl çalışır?

Basit Adımlar: Macun üzerinden giriş yaptıktan sonra aşağıdaki adımları izleyin:

  1. startWebLogic.shKomutun bulunduğu sunucudaki dizine gidin .
  2. Command yazın screenve düğmesine basın Enter(yeni bir ekran açılacaktır).
  3. Yeni ekranda run komutunuzu yazın ./startWebLogic.sh.
  4. Basın Ctrl+ aardından düğmesine basın d(tutmadan Ctrl); önceki ekrana geri döneceksiniz.
  5. Sunucu günlük ekranınıza geri dönmek istediğinizde command yazın screen -r.

0

eğer süreç bir nodejs için ise ve bunu aslında stackoverflow'ta yayınladığınızdan beri sizin niyetiniz olabilir. Aslında bu soruyu kendim arıyordum. PM2 buldum ve şaşırtıcı. Diğer cevaplar genel macun için yardımcı olabilir, ancak eğer özel bir düğümse, izleme içinde yerleşik olduğu ve kurulumun basit olduğu gibi, bu en iyi cevaptır.

$ npm install pm2 -g
$ cd yourappdirectory

"PM2, dahili bir yük dengeleyicisine sahip Node.js uygulamaları için bir üretim süreci yöneticisidir. Uygulamaları sonsuza kadar canlı tutmanıza, kesintisiz çalışma süresi olmadan yüklemenize ve genel sistem yöneticisi görevlerini kolaylaştırmanıza olanak tanır.

Uygulamayı üretim modunda başlatmak, "

$ pm2 start yourappname.js

"kaydet ve ardından dondur komutunu kullanarak, işlemlerin yeniden başlatıldığında otomatik başlatılmasını etkinleştirirsiniz"

$ pm2 save
$ pm2 freeze

izlemek için

$ pm2 monit

ve yeniden başlatır

$ pm2 restart yourappname

ayrıca doğrudan günlük bilgileri için

$ pm2 logs

Artık digialocean tarayıcı penceremi kullanmak yerine (yukarı kaydırılamadığım) iki macun penceresini kolayca çalıştırabilirim; Daha fazla bilgi için ana github'a bakınız.

https://github.com/Unitech/pm2

bu inanılmaz.


Pm2'nin ne olduğunu ve gösterdiğiniz komutların ne olduğunu biraz daha açıklayabilir misiniz? Lütfen yorumlara cevap vermeyin;  cevabınızı daha net ve daha eksiksiz hale getirmek için düzenleyin .
G-Man

Topluluk için biraz daha fazla belge eklendi. Keşke pm2 yıl önce bulsaydım.
sasy çözümleri
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.