gedit
Bir terminalden bir metin editörü açıp üzerinde çalıştığınızı düşünelim . Terminali kapatmadan önce kapatırsanız, gedit
gedit terminali kapatır kapatmaz da kapanır. Peki burada neler oluyor? gedit
Terminalin altında bir alt işlem olarak çalışır. Terminali kapattığınızda , alt işlemi öldüren işleme bir kapatma sinyali ( SIGHUP
) gönderilir.
Öte yandan gedit
, ana terminali kapattıktan sonra bile çocuk işleminizin (burada ) çalışmaya devam etmesini istiyorsanız, bağışıklığınızın askıda kalma sinyali almasını istersiniz. Böylece terminalin kapatılması çocuk sürecini kapatmaz. nohup
tam olarak bu işi yapıyor.
nohup
bir komutun terminal bağlantısını kesmezse, komut dosyanız SIGHUP'u yoksayır ve stdout / stderr dosyasını nohup.out dosyasına yönlendirir, böylece komut oturumu kapattıktan sonra arka planda çalışmaya devam edebilir. Kabuğu / terminali kapatırsanız veya oturumu kapatırsanız, komutunuz artık bu kabuğun alt öğesi değildir. Başlangıç sürecine aittir. Arama pstree
yaparsanız, artık işlem 1'e (init) ait olduğunu göreceksiniz. Bu ön plana geri getirilemez çünkü ön plan artık mevcut değildir.
disown
daha iyi bir alternatiftirnohup
. Komutucommand &
veya ile arka plan yapınCtrl-Z
, sonradisown
kabuğundan ayırmak için kullanın .