Jak zakończyć proces w systemie Linux ⋆ ALexHost SRL
Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills
21.11.2024

Jak zakończyć proces w systemie Linux

Efektywne zarządzanie procesami jest kluczowym zadaniem dla każdego, kto korzysta z serwera wirtualnego, takiego jak te oferowane przez AlexHost. Zrozumienie sposobu kończenia procesów w systemie Linux pomaga zoptymalizować wydajność systemu, rozwiązywać problemy i utrzymywać stabilność serwera. W tym artykule zbadamy różne metody kończenia procesów w systemie Linux, dostarczając szczegółowych instrukcji i spostrzeżeń zarówno dla początkujących, jak i doświadczonych użytkowników.

Czym jest proces w systemie Linux?

Proces w systemie Linux jest uruchomioną instancją programu. Za każdym razem, gdy wykonujesz polecenie lub aplikację, tworzy ona proces, który wykorzystuje zasoby systemowe, takie jak procesor i pamięć. Na serwerach wirtualnych, takich jak te od AlexHost, zarządzanie zasobami ma kluczowe znaczenie, zwłaszcza w przypadku hostowania wielu stron internetowych, aplikacji lub usług. Jeśli proces zachowuje się nieprawidłowo lub zużywa nadmierne zasoby, może być konieczne jego zamknięcie w celu utrzymania optymalnej wydajności serwera.

Dlaczego należy zakończyć proces?

Istnieje kilka powodów, dla których może być konieczne zakończenie procesu na serwerze wirtualnym AlexHost:

  1. Wysokie zużycie procesora lub pamięci: Niektóre procesy mogą zużywać nadmierną ilość zasobów, spowalniając lub powodując awarię innych aplikacji.
  2. Niereagujące programy: Niektóre programy mogą się zawiesić, przestać odpowiadać lub wejść w nieskończoną pętlę.
  3. Debugowanie i rozwój: Podczas tworzenia oprogramowania może zajść potrzeba zamknięcia procesów w celu przetestowania lub rozwiązania problemów.
  4. Optymalizacja zasobów: Na serwerze wirtualnym zakończenie niepotrzebnych lub nadmiarowych procesów zapewnia efektywne wykorzystanie przydzielonych zasobów.

Jak wyświetlić listę procesów w systemie Linux

Aby zakończyć proces, należy najpierw zidentyfikować jego identyfikator procesu (PID). Można to zrobić za pomocą następujących poleceń, takich jak ps aux

ps aux

To polecenie wyświetla listę wszystkich uruchomionych procesów wraz z ich PID, własnością użytkownika i wykorzystaniem zasobów.

Można również użyć narzędzi takich jak top, htop, które dostarczają informacji o uruchomionych procesach w czasie rzeczywistym i pozwalają na zakończenie procesu bezpośrednio z interfejsu.

* Zwróć uwagę na kolumnę PID. PID (Process ID) w systemie Linux to unikalny identyfikator, który jest przypisany do każdego uruchomionego procesu w systemie

Metody zakończenia procesu w systemie Linux

Po zidentyfikowaniu PID procesu, który chcesz zabić, możesz użyć różnych poleceń, aby go zabić.

Polecenie kill

Polecenie kill jest najczęściej używanym narzędziem do zabijania procesów w systemie Linux. Wysyła sygnał do procesu i domyślnie wysyła sygnał TERM, aby zakończyć proces z wdziękiem.

Aby zabić proces według PID – kill PID

Na przykład:

kill 12

Polecenie pkill

pkill to potężne polecenie używane w systemach uniksowych, takich jak Linux i macOS, do kończenia procesów. Chociaż służy podobnemu celowi jak polecenie killall, oferuje bardziej zaawansowaną funkcjonalność, szczególnie w zakresie dopasowywania wzorców i elastyczności podczas identyfikacji procesów. Podstawową różnicą między killall i pkill jest to, że pkill obsługuje bardziej szczegółową kontrolę nad wyborem procesów, ułatwiając zakończenie określonych procesów w oparciu o różne kryteria.

Jak działa pkill:

Podstawową składnią pkill jest:

pkill nazwa_procesu

Gdzie process_name jest nazwą procesu, który ma zostać zakończony. Polecenie to wysyła sygnał (domyślnie SIGTERM) do wszystkich procesów o nazwach pasujących do podanego wzorca. Na przykład, jeśli chcesz zatrzymać wszystkie instancje przeglądarki Firefox, użyj polecenia:

pkill firefox

Spowoduje to zakończenie wszystkich procesów pasujących do wzorca firefox. Jeśli istnieje wiele uruchomionych procesów o podobnych nazwach, pkill zajmie się nimi wszystkimi. Jeśli jednak chcesz być bardziej szczegółowy, możesz zastosować dodatkowe flagi lub wzorce, aby zawęzić wybór.

Zaawansowane funkcje pkill:

  1. Dopasowywanie wzorców: W przeciwieństwie do killall, który ściśle dopasowuje pełną nazwę procesu, pkill obsługuje rozszerzone wzorce wyrażeń regularnych (regex). Pozwala to na zakończenie procesów w oparciu o bardziej złożone konwencje nazewnictwa. Na przykład, jeśli chcesz zabić procesy o nazwach zawierających “fire”, możesz użyć:

    pkill -f fire

    Opcja -f nakazuje pkill dopasowanie wzorca do całego wiersza poleceń (nie tylko nazwy procesu).

  2. Dopasowywanie według innych atrybutów: pkill może również dopasowywać procesy na podstawie atrybutów, takich jak użytkownik uruchamiający proces, identyfikatory procesu (PID) lub identyfikator sesji. Niektóre z najbardziej przydatnych opcji obejmują

    • By User: Jeśli chcesz zabić procesy należące do określonego użytkownika, możesz użyć opcji -u:

      pkill -u username
    • By PID: Jeśli posiadasz PID konkretnego procesu, możesz go bezpośrednio namierzyć:

      pkill -P pid_number
    • Według grupy: Za pomocą opcji -G można namierzać procesy należące do określonej grupy:

      pkill -G nazwa_grupy
  3. Obsługa sygnałów: Domyślnie pkill wysyła sygnał SIGTERM (terminate) do procesów, ale można zmienić sygnał za pomocą opcji -SIGNAL. Na przykład, aby wysłać sygnał SIGKILL (force kill), który natychmiast zatrzymuje procesy, nie pozwalając im na oczyszczenie, można użyć:

    pkill -9 nazwa_procesu

    Jest to szczególnie przydatne, jeśli proces nie reaguje na domyślny sygnał zakończenia.

  4. Dry Run: Jeśli chcesz zobaczyć, na które procesy wpłynie polecenie pkill bez ich faktycznego zakończenia, możesz użyć opcji -l (list). Spowoduje to wyświetlenie listy wszystkich procesów pasujących do podanego wzorca:

    pkill -l nazwa_procesu

Wnioski:

pkill jest wszechstronnym i potężnym narzędziem do kończenia procesów w uniksopodobnych systemach operacyjnych. Jego zdolność do wykonywania zaawansowanego dopasowywania wzorców, dopasowywania procesów według użytkownika lub innych atrybutów oraz wysyłania niestandardowych sygnałów sprawia, że jest to preferowana opcja dla administratorów systemu i użytkowników, którzy potrzebują precyzyjnej kontroli nad zarządzaniem procesami. Efektywne wykorzystanie pkill pozwala usprawnić zarządzanie zasobami systemowymi, zautomatyzować kontrolę procesów i skuteczniej rozwiązywać problemy.

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills