-HUP, killall ile kullanıldığında ne yapar?


16

Bazen killallTerminal'den bir komut çalıştırdığımda , bir iş arkadaşı göstermek için komut dosyalarımı önerir veya düzenler killall -HUP.

-HUPParça ne yapar ?


İşte killall için Apple man sayfası: developer.apple.com/library/mac/documentation/Darwin/Reference/… h = help, u = user ve p = process gibi görünüyor. Ama bunların hepsi küçük. Ben man sayfasında büyük harf parametreleri görmüyorum, ama büyük harf tamamen farklı anlamlara sahip olabilir - ya da olmayabilir ..
David DelMonte

Yanıtlar:


22

-HUPSeçeneği ile işlemlere gönderilen sinyal killallkomutu. Söylemesi biraz zor olabilir, ancak killallkılavuzdaki ilgili giriş :

-SIGNAL     Send a different signal instead of the default TERM.  The signal may be specified
            either as a name (with or without a leading SIG), or numerically.

Gönderen varsayılan TERMsinyal ile sinyal arasındaki fark büyük ölçüde sinyali killallgönderdiğiniz HUPprograma bağlıdır. Program sonunda farklı bir kesme sinyali değeri alırlar. Böylece program kesintileri yakalayabilir ve değere bağlı olarak bir şey veya başka bir şey yapıp yapmayacaklarına karar verebilir.

TERMSinyal (tarihsel olarak "sinyali sonlandırmak"), genellikle (bir politer versiyonudur onun tasfiyesini isteme bir programa gönderilir zorlama ile fesih KILLsinyali). Program TERMsinyali yakalamakta ve yok saymakta serbesttir . İstemiyorsa sonlanması gerekmez ve bu sinyali tamamen göz ardı edebilir.

HUPSinyal (tarihsel olarak "mesele sinyali"), genellikle isteğine bir programa gönderilir yeniden başlatılmasının ve bu süreçte tüm yapılandırmasını yeniden okur. Programın fiili davranışı, programa özgü uygulamaya bağlıdır. Tüm programlar yakalanmaz HUPve kongre veya dogma tarafından zorunlu değildir. Örneğin, Apache web sunucusu bir HUPsinyal yakalayacak ve tüm yapılandırma dosyalarını yeniden okuyacaktır, ancak hiçbir işlemi yeniden başlatmayacaktır.

İşlemleri gerçekten sonlandırmak ve sinyalin yakalayıp yakalayıp uymayacakları konusunda endişelenmiyorsanız, sinyali kullanır KILL. Yakalanamaz veya göz ardı edilemez ve işlemin sonlandırılmasıyla sonuçlanır.

Mevcut POSIX sinyallerinin iyi bir incelemesi için bu Wikipedia makalesine bakın .


2
Killall için man sayfasının alt kısmında, AYRICA GÖR bölümünde, bazı sinyalleri ve yaptıkları listeleyen kill manpageine bir bağlantı bulunur .
Ian C.

#FAILAnahtarları hiç okumamış olan insanlardan biriyim . Teşekkür ederim!
Danijel-James W

Bir "kapatma sinyali" olarak, HUP genellikle kullanıcı programı başlatan kabuk oturumunu kapattığında veya sonlandırdığında bir programa gönderilir. Sinyali yakalama program tarafından gerçekleştirilmezse, program tipik olarak sona erer. Yukarıda belirtildiği gibi, sinyali alan program Apache örneğinde belirtildiği gibi sinyali yakalamanın bir sonucu olarak istenen herhangi bir aktiviteyi uygulayabilir.
nachbar

2

-HUPBir uygulamanın durdurulması tetikleyebilir 's yapılandırma dosyası okuyun ve sonra tekrar başlayabilir "asmak" sinyaldir. Olmadan kullanmaktan daha iyi değildir.

killall Finder

ve

killall -HUP Finder

Saygılarımızla aynı. OS X'de Finder yeniden başlatılacak, ancak yapılandırma dosyasını yeniden okuyacaktır. Çalışan uygulamada -HUPyerleşik işlev bulunmuyorsa, durum böyle olmayabilir . Önceki afişin Apache'den bahsettiği gibi. Yapılandırma dosyalarını okur, ancak yeniden başlatılamaz.

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.