Czasami, gdy uruchamiam killall
polecenie z terminala, współpracownik sugeruje lub edytuje moje skrypty, aby je wyświetlić killall -HUP
.
Co robi ta -HUP
część?
Czasami, gdy uruchamiam killall
polecenie z terminala, współpracownik sugeruje lub edytuje moje skrypty, aby je wyświetlić killall -HUP
.
Co robi ta -HUP
część?
Odpowiedzi:
-HUP
Opcja jest sygnałem, który jest wysyłany do procesów przez killall
komendę. Może być trochę trudno powiedzieć, ale odpowiedni wpis w killall
instrukcji to:
-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.
Różnica między domyślnym TERM
sygnałem, który killall
wysyła, a HUP
sygnałem zależy w dużej mierze od programu, do którego wysyłasz sygnał. Po zakończeniu programu otrzymują inną wartość sygnału przerwania. Tak więc program może wychwycić przerwania i na podstawie wartości zdecydować, czy powinien zrobić jedną czy drugą rzecz.
TERM
Sygnału (historycznie „sygnał zakończenia”) jest zazwyczaj wysyłane do programu do żądania jej zakończenia (co jest to wersja politer od zmuszania jej wypowiedzenie z KILL
sygnałem). Program może przechwycić i zignorować TERM
sygnał. Nie musi się kończyć, jeśli nie chce i może całkowicie zignorować ten sygnał.
HUP
Sygnału (historycznie „sygnał rozłączenia”) jest zazwyczaj wysyłane do programu do wniosku, że uruchamia się ponownie i ponownie odczytuje całą swoją konfigurację w procesie. Rzeczywiste zachowanie programu zależy od implementacji specyficznej dla programu. Nie wszystkie programy łapią HUP
i nie są wymagane przez konwencję lub dogmaty. Na przykład serwer WWW Apache przechwyci HUP
sygnał i ponownie odczyta wszystkie swoje pliki konfiguracyjne, ale nie uruchomi ponownie żadnych procesów.
Jeśli chcesz naprawdę zakończyć procesy i nie martwić się, czy zamierzają złapać i być posłuszni sygnał używa KILL
sygnału. Nie można go złapać ani zignorować, co powoduje zakończenie procesu.
Dobry przegląd dostępnych sygnałów POSIX znajduje się w tym artykule w Wikipedii .
#FAIL
osób, które nigdy nie czytają obok przełączników. Dziękuję Ci!
Jest -HUP
to sygnał „rozłączania się”, który może spowodować zatrzymanie aplikacji, odczytanie jej pliku konfiguracyjnego i ponowne uruchomienie. To niekoniecznie jest lepsze niż używanie go bez.
killall Finder
i
killall -HUP Finder
Z szacunkiem są takie same. W OS X Finder uruchomi się ponownie, ale ponownie odczyta swój plik konfiguracyjny. Może tak nie być, jeśli uruchomiona aplikacja nie ma -HUP
wbudowanej funkcji. Jak wspomniano w poprzednim plakacie Apache. Czyta to pliki konfiguracyjne, ale nie może się ponownie uruchomić.