Czasami, gdy uruchamiam killallpolecenie z terminala, współpracownik sugeruje lub edytuje moje skrypty, aby je wyświetlić killall -HUP.
Co robi ta -HUPczęść?
Czasami, gdy uruchamiam killallpolecenie z terminala, współpracownik sugeruje lub edytuje moje skrypty, aby je wyświetlić killall -HUP.
Co robi ta -HUPczęść?
Odpowiedzi:
-HUPOpcja jest sygnałem, który jest wysyłany do procesów przez killallkomendę. Może być trochę trudno powiedzieć, ale odpowiedni wpis w killallinstrukcji 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 TERMsygnałem, który killallwysyła, a HUPsygnał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.
TERMSygnał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 KILLsygnałem). Program może przechwycić i zignorować TERMsygnał. Nie musi się kończyć, jeśli nie chce i może całkowicie zignorować ten sygnał.
HUPSygnał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ą HUPi nie są wymagane przez konwencję lub dogmaty. Na przykład serwer WWW Apache przechwyci HUPsygnał 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 KILLsygnał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 .
#FAILosób, które nigdy nie czytają obok przełączników. Dziękuję Ci!
Jest -HUPto 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 -HUPwbudowanej funkcji. Jak wspomniano w poprzednim plakacie Apache. Czyta to pliki konfiguracyjne, ale nie może się ponownie uruchomić.