CTRL+Cwyśle SIGINTdo aplikacji. Aplikacja może skonfigurować moduł obsługi tego sygnału lub zignorować sygnał. Domyślnie nie ma SIGINTmodułu obsługi i zabija aplikację.
Możesz użyć, CTRL+\który wyśle SIGQUIT. Spowoduje to również wygenerowanie zrzutu rdzenia, jeśli limit rdzenia nie będzie wynosił zero.
Możesz zawiesić proces i powrócić do powłoki za pomocą CTRL+Z, to zatrzyma wykonanie procesu i powróci do monitu powłoki. Proces będzie w pamięci i będzie dostępny jako zadanie w bieżącej powłoce. Następnie możesz użyć kill -SIGNAL %%lub, kill -SIGNAL %<job_ID>aby wysłać sygnał do tego zadania. Np. Zabić ostatniego użycia pracykill -9 %%
Jeśli żaden z nich nie działa, zawsze możesz wysłać SIGTERM, w ostateczności, SIGKILLco zakończy każdy proces. Sygnał ten, podobnie jak wszelkie inne sygnały, musi być wysyłany jako ten sam użytkownik co proces, który próbujesz zatrzymać lub jako root. Aby wysłać SIGKILLdo procesu, najpierw znaleźć proces ps auxlub ps -edf, a następnie uruchomić kill -SIGKILL <process_ID>, gdzie <process_ID>jest PIDkolumna w pswyjściu.
Sygnałów nie można dostarczyć, jeśli proces odbywa się w trybie nieprzerwanego połączenia. Wywołania nieprzerwane to funkcje jądra, których nie można zatrzymać i zwykle występują z powodu złego sterownika (np. Sterownika, który nie jest ponownie wysyłany ). Procesu, który jest w nieprzerwanym trybie uśpienia, nie można zatrzymać, dopóki połączenie nie zostanie zakończone lub serwer nie zostanie ponownie uruchomiony.
Jeśli proces stanie się zombie , nie zużyje żadnych zasobów, zajmując tylko miejsce w tabeli procesów. Proces zombie nie może odbierać sygnałów.
Listę sygnałów dla bieżącej architektury można znaleźć za pomocą kill -l
Zobacz strony człowiekiem kill, psi bash. Aby zobaczyć stronę podręcznika, użyj czegoś takiego:man ps