nohup vs. Ekran


39

Geçmişte nohupbüyük arkaplan işleri yapıyordum, ancak birçok insanın screenbu bağlamda kullandığını fark ettim . screenFarkında olmadığım bir tür işlevsel avantaj sağlıyor mu , yoksa sadece tercih meselesi mi?

Yanıtlar:


25

Her ikisinin de kendi artıları ve eksileri var:

nohup:

  1. İşlemler bir web sunucusu veya bunun gibi başka bir sunucu işlemi gibi herhangi bir kullanıcı girişi gerektirmediğinde, işlemleri arka planda çalıştırmak için kullanmak iyidir.
  2. nohup, işlem yürütme dizininde bir günlük yaratmaz. Günlük dosyası adı nohup.out.
  3. Hatalı Ctrl+ Cveya benzeri tuş birleşiminden dolayı sürecin ölmesini önler . Sadece bir koruma.
  4. Normalde temel kurulumla birlikte varsayılan olarak kurulur. Ekran gibi ayrı ayrı yüklemeye gerek yok.
  5. İşlevselliği, bir işin arka planda çalıştırılması ve çıktıların boşaltılması konusunda çok özeldir. Düşük hafıza yoğun.

ekran:

  1. Ayrı ayrı kurulum yapmalıyım. Bir veri merkezine gidemez veya hiçbir kutuya giriş yapamazsınız ve ekranın görüntülenmesini beklersiniz.
  2. Ayrı konularda birden fazla terminali yönetmek ve onlara isimler vermek iyi.
  3. Terminal yöneticisi ve nohup gibi sonsuz bir süre için bir işlem yürütme komutu değil.
  4. İşlem kullanıcı girişi gerektiriyorsa daha uygundur. Scriptleri yüklemek gibi, evet / hayır istemleri.
  5. Tonlarca özelliği ile hafızasına geliyor. Ancak kabul etti, bazıları gerçekten harika özellikler.

@ rahmu, öldürmek istersen asla pid tahmin edemem. Birini / birisini öldürmeden önce emin olun;).

Ekran ve nohup her iki durumda da iyi yoludur: ps -eaf | grep "nohup" | grep "your proc name/keyword".

Ekranı kullanın ve üzerinde neyin çalıştığını kontrol edin.

Sonuç olarak, bunlar farklı gündemlerle yapılan iki farklı şeydir, bu nedenle karşılaştırma zordur.


20

Ekranın bir ton özelliği var. Bu sadece bir süreci “canlandırmak” değildir, terminaller için daha çok bir pencere yöneticisidir.

Prosesin bir noktada giriş yapması gerekiyorsa kullanılabilir, proses çıkışını kontrol edebilir, terminaline yeniden bağlanabilir, ...

Yani hayır, bu sadece bir tercih meselesi değil, aynı şey değiller.


4
Çıktıyı da kontrol edebilirsiniz nohup [...] > fileName.log 2>&1. Ayrıca bu, çıkışın kaybolmadığı anlamına gelir.
Sardathrion - Monica

1
Bu ekran tanımını beğendim: "terminaller için bir pencere yöneticisi"!
rickumali

7

screen size sağlar:

  1. gerçek koşu ekranına geri dön, sinyal gönder, ne kadar hızlı gittiğini gör, hata mesajı olup olmadığına bak.
  2. anlamlı bir unvan ile isim süreçleri. Bir işlemi öldürmek istiyorsanız, işlem kimliği hakkında bir tahminde bulunmak zorunda değilsiniz.

-2
  1. süreç ilerleme de nohupveritabanı alanları hata ayıklama tarafından kontrol edilebilir .
  2. ps ax | grep nohup size sürecin kimliğini gösterecek ve onu öldürebilirsiniz.
  3. nohupdaha hızlı. Bunun basit nedeni, PC'niz ile sunucu arasındaki internet bağlantısına bağlı olmasıdır. İnternet ne zaman yavaşlarsa işlem de yavaşlar.

2
Anlam 3'ü anlayamıyorum.
mattdm

1
2. nokta yanlış.
jiggunjer

# 2 sadece bir nohup işlemi çalışıyorsa öldürme işlemini gösterecek. Aksi takdirde, çoklu gösterecektir. Her iki durumda da, 2. nokta tamamen yanlış değildir.
Anil_M
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.