Skip to main content

Jak zabijać procesy za pomocą systemu Linux

Linux Tutorial for Beginners: Introduction to Linux Operating System (Czerwiec 2026)

Linux Tutorial for Beginners: Introduction to Linux Operating System (Czerwiec 2026)
Anonim

Zazwyczaj program ma się zakończyć własnymi środkami lub, jeśli jest to aplikacja graficzna, za pomocą odpowiedniej opcji menu lub za pomocą krzyża w rogu.

Co jakiś czas program zawiesza się, w takim przypadku będziesz potrzebował metody zabicia go. Możesz także zabić program działający w tle, którego już nie potrzebujesz.

Ten przewodnik zawiera metodę zabijania wszystkich wersji tej samej aplikacji, które są uruchomione w systemie.

Jak korzystać z polecenia killall

Komenda killall zabija wszystkie procesy według nazwy. Oznacza to, że jeśli masz trzy wersje tego samego programu, polecenie killall zabije wszystkie trzy.

Na przykład otwórz mały program, taki jak przeglądarka obrazów. Teraz otwórz kolejną kopię tej samej przeglądarki obrazów. Na mój przykład wybrałem Xviewer, który jest klonem Eye Of Gnome.

Teraz otwórz terminal i wpisz następujące polecenie:

zabić wszystkich

Na przykład, aby zabić wszystkie wystąpienia Xviewera, wpisz:

killall xviewer

Oba wystąpienia programu, który wybrałeś do zabicia, zostaną teraz zamknięte.

Zabij dokładny proces

killall może dawać dziwne wyniki. Oto jeden powód. Jeśli masz nazwę polecenia, która ma więcej niż 15 znaków, to komenda killall działa tylko na pierwszych 15 znakach. Jeśli więc masz dwa programy, które mają te same pierwsze 15 znaków, oba programy zostaną anulowane, nawet jeśli chcesz je tylko zabić.

Aby obejść ten problem, możesz określić następujący przełącznik, który zabija tylko pliki pasujące do dokładnej nazwy.

killall -e

Ignoruj ​​sprawę podczas zabijania programów

Aby upewnić się, że polecenie killall ignoruje przypadek podanej nazwy programu, użyj następującego polecenia:

killall -Ikillall --ignore-case

Zabij wszystkie programy w tej samej grupie

Po uruchomieniu polecenia, takiego jak poniższy, utworzy dwa procesy:

ps -ef | mniej

Jedno polecenie dotyczy części ps -ef zawierającej listę wszystkich uruchomionych procesów w systemie, a dane wyjściowe są przesyłane do mniejszej komendy.

Oba programy należą do tej samej grupy, którą jest bash.

Aby zabić oba programy naraz, możesz uruchomić następujące polecenie:

killall -g

Na przykład, aby zabić wszystkie komendy działające w powłoce bash, uruchom:

killall -g bash

Nawiasem mówiąc, aby wyświetlić listę wszystkich uruchomionych grup, uruchom następujące polecenie:

ps -g

Uzyskaj potwierdzenie przed zabiciem programów

Oczywiście polecenie killall jest dość potężnym poleceniem i nie chcesz przypadkowo zabić niewłaściwych procesów.

Za pomocą poniższego przełącznika zostaniesz zapytany, czy jesteś pewny, zanim każdy proces zostanie zabity.

killall -i

Zabij procesy, które działały przez pewien czas

Wyobraź sobie, że prowadzisz program i trwa to o wiele dłużej niż miałeś nadzieję.

Możesz zabić polecenie w następujący sposób:

killall -o h4

H w powyższym poleceniu oznacza godziny.

Możesz również określić dowolne z poniższych:

  • s - sekundy
  • m - minuty
  • h - godziny
  • d - dni
  • w - tygodni
  • M - miesiące
  • y - lata

Ewentualnie, jeśli chcesz zabić komendy, które dopiero zaczynają działać, możesz użyć następującego przełącznika:

killall -y h4

Tym razem polecenie killall zabije wszystkie programy działające krócej niż 4 godziny.

Nie mów mi, gdy proces nie jest zabity

Domyślnie, jeśli spróbujesz i zabijesz program, który nie jest uruchomiony, otrzymasz następujący błąd:

nazwa_programu: nie znaleziono procesu

Jeśli nie chcesz być informowany, jeśli proces nie został znaleziony, użyj następującego polecenia:

killall -q

Używanie wyrażeń regularnych

Zamiast określać nazwę programu lub polecenia, można podać wyrażenie regularne, aby wszystkie procesy pasujące do wyrażenia regularnego zostały zamknięte przez komendę killall.

Aby użyć wyrażenia regularnego, użyj następującego polecenia:

killall -r

Zabij programy dla A Określ użytkownika

Jeśli chcesz zabić program uruchamiany przez określonego użytkownika, możesz podać następujące polecenie:

killall -u

Jeśli chcesz zabić wszystkie procesy dla określonego użytkownika, możesz pominąć nazwę programu.

Zaczekaj na killall, aby zakończyć

Domyślnie killall wróci z powrotem do terminala po uruchomieniu, ale możesz zmusić killall, aby poczekał, aż wszystkie określone procesy zostaną zamknięte, zanim powrócisz do okna terminala.

Aby to zrobić, uruchom następujące polecenie:

killall-w

Jeśli program nigdy nie umrze, killall również będzie dalej żyć.

Sygnały Sygnały Sygnały

Domyślnie komenda killall wysyła sygnał SIGTERM do programów, aby je zamknąć i jest to najczystsza metoda zabijania programów.

Istnieją jednak inne sygnały, które możesz wysłać za pomocą komendy killall i możesz je wyświetlić, używając następującego polecenia:

killall -l

Zwrócona lista będzie wyglądać następująco:

  • HUP
  • INT
  • PORZUCIĆ
  • CHORY
  • PUŁAPKA
  • ABRT
  • IOT
  • AUTOBUS
  • FPE
  • ZABIĆ
  • USR1
  • SEGV
  • USR2
  • RURA
  • ALRM
  • SEMESTR
  • STKFLT
  • CHLD
  • CONT
  • ZATRZYMAĆ
  • TSTP
  • TTIN
  • TTOU
  • URG
  • XCPU
  • XFSZ
  • VTALRM
  • WAŁÓWKA
  • WYNCH
  • IO
  • PWR
  • SYS
  • NIE UŻYWANY

Ta lista jest wyjątkowo długa. Aby przeczytać o tym, co oznaczają te sygnały, uruchom następujące polecenie:

człowiek 7 sygnał

Generalnie powinieneś używać domyślnej opcji SIGTERM, ale jeśli program odmawia śmierci, możesz użyć SIGKILL, która wymusza zamknięcie programu, choć w niegodny sposób.

Inne sposoby na zabicie programu

Istnieje 5 innych sposobów na zabicie aplikacji Linuksa, jak to opisano w połączonym przewodniku.

Jednak, aby zaoszczędzić Ci wysiłku kliknięcia łącza tutaj, jest sekcja pokazująca, czym są te polecenia, dlaczego możesz użyć tych poleceń przez killall.

Pierwszym z nich jest polecenie zabicia. Polecenie killall, jak już zauważyłeś, świetnie zabija wszystkie wersje tego samego programu. Polecenie kill ma na celu zabicie jednego procesu na raz i dlatego jest bardziej ukierunkowane.

Aby uruchomić polecenie kill, musisz znać identyfikator procesu, który chcesz zabić. Do tego możesz użyć polecenia ps.

Na przykład, aby znaleźć działającą wersję przeglądarki Firefox, możesz uruchomić następujące polecenie:

ps -ef | grep firefox

Zobaczysz linię danych za pomocą polecenia / usr / lib / firefox / firefox na końcu. Na początku linii zobaczysz swój identyfikator użytkownika i numer po tym, jak ID użytkownika jest identyfikatorem procesu.

Korzystając z ID procesu, możesz zabić Firefoksa, uruchamiając następujące polecenie:

zabij -9

Innym sposobem na zabicie programu jest użycie polecenia xkill. Jest to zazwyczaj używane do zabijania niewłaściwie działających aplikacji graficznych.

Aby zabić program taki jak Firefox, otwórz terminal i uruchom następujące polecenie:

xkill

Kursor zmieni się teraz w duży biały krzyżyk. Ustaw kursor nad oknem, które chcesz zabić, i kliknij lewym przyciskiem myszy. Program zostanie natychmiast zamknięty.

Innym sposobem na zabicie procesu jest użycie polecenia top Linux. Polecenie top zawiera listę wszystkich uruchomionych procesów w twoim systemie.

Wszystko, co musisz zrobić, aby zabić proces, to nacisnąć klawisz "k" i wprowadzić identyfikator procesu aplikacji, którą chcesz zabić.

Wcześniej w tej sekcji polecenie kill i wymagało znalezienia procesu za pomocą polecenia ps, a następnie zabicia procesu za pomocą komendy kill. To nie jest najprostsza opcja w żaden sposób.

Po pierwsze, polecenie ps zwraca mnóstwo informacji, których nie potrzebujesz. Wszystko, czego chciałeś, to identyfikator procesu. Możesz uzyskać identyfikator procesu w prostszy sposób, uruchamiając następujące polecenie:

pgrep firefox

Wynikiem powyższego polecenia jest po prostu identyfikator procesu Firefoksa. Możesz teraz uruchomić polecenie kill w następujący sposób:

zabić

(Zastąpić z faktycznym identyfikatorem procesu zwróconym przez pgrep).

Łatwiej jest jednak po prostu podać nazwę programu, aby pkill w następujący sposób:

pkill firefox

Na koniec możesz użyć narzędzia graficznego, takiego jak dostarczone z Ubuntu, zwane "Monitor systemu". Aby uruchomić "Monitor systemu", naciśnij klawisz super (klawisz Windows na większości komputerów) i wpisz "sysmon" w pasku wyszukiwania. Kiedy pojawi się ikona monitora systemu, kliknij na nią.

Monitor systemu pokazuje listę procesów. Aby zakończyć program w czysty sposób, wybierz go i naciśnij klawisz zakończenia na dole ekranu (lub naciśnij CTRL i E). Jeśli to nie zadziała, kliknij prawym przyciskiem myszy i wybierz "Kill" lub naciśnij CTRL i K na procesie, który chcesz zabić.