nohup komutunun işlevi nedir?

18

Ubuntu’da yeni başlayan bir erkeğim. Bir komut öğrendim

nohup [command] - gecikme sinyaline <command> bağışıklık kazandırmak

"Bekleme sinyaline karşı güçlü " ifadesinin anlamını anlayamıyorum. Ne tür bir sinyalden bahsediyor? Ve lütfen bana bu komutu bir örnekle nasıl kullanacağınızı söyleyin.

    
sordu coding_ninza 12.01.2018 14:52

2 cevap

34

Bir terminalden gedit metin editörü açtığınızı ve üzerinde çalıştığınızı düşünelim. Terminali gedit kapatmadan önce kapatırsanız, terminal kapatılır kapanmaz gedit de kapanır. Peki burada neler oluyor? % Co_de%, terminalin altında bir alt işlem olarak çalışır. Terminali kapattığınızda, çocuk sürecini öldüren işleme bir asmak sinyali ( gedit ) gönderilir.

Diğer taraftan, eğer çocuk işleminizi (burada SIGHUP ) ana terminali kapattıktan sonra bile çalışmaya devam etmesini istiyorsanız, işleminizin asılsız sinyallere karşı bağışıklık olmasını istersiniz. Böylece terminali kapatmak çocuk sürecini kapatmaz. gedit tam olarak bu işi yapıyor.

nohup , terminalden bir komutu çıkarmaz , komut dosyanız SIGHUP'u yok sayar ve stdout / stderr'i yeniden yönlendirir nohup.out bir dosyaya, böylece komut, oturumu kapattıktan sonra arka planda çalışmaya devam edebilir. Kabuk / terminali kapatır veya oturumu kapatırsanız, komutunuz artık o kabuğun bir çocuğu değildir. Bu init sürecine aittir. % Co_de% cinsinden arama yaparsanız, artık işlem 1'e (init) ait olduğunu görürsünüz. Ön plana geri alınamaz çünkü önalan artık mevcut değildir.

    
verilen cevap souravc 12.01.2018 15:11
16

@sourvac'in yazdıklarının yanı sıra, Back In The Day (Günün İçinden Gün) adlı eserinden bir miras, insanların yalnızca metin (orijinal, analog 110 baud) modem üzerinden yalnızca aptal terminallerle oturum açtığı bir mirastır: "asmak" kelimenin tam anlamıyla "asılı" dır telefonu kapatın ".

Oturum kapatma sinyaline karşı bağışık olan bir pid, oturumu kapattıktan ve telefonu kapattıktan sonra bile çalışmaya devam edecektir . Bu, işler saatlerce saatlerce çalıştırıldığında yavaş bilgisayarlarda çok kullanışlıdır ve giriş yapmış olmamış olabilirsiniz (terminali kullanmak için başka biri gerekliydi, telefonu kullanmanız gerekiyordu, satır, bağlantıyı "vb" yapabilir ".

    
verilen cevap RonJohn 12.01.2018 16:14

Etiketlerdeki diğer soruları oku