Hoe processen gemakkelijk te doden

In principe zijn er 4 manieren de Matar effectief een procédé en Linux: dood het op naam, door een deel van de naam te specificeren, door PID, wijzend naar het procesvenster met de muiscursor. Laten we een voor een kijken ...

Kill: dood een proces met behulp van zijn PID

De meest gecompliceerde maar tegelijkertijd meest nauwkeurige manier om een ​​proces te doden, is via zijn PID ("Process Identifier"). Elk van deze 3 varianten kan dienen:

kill -TERM pid kill -SIGTERM pid kill -15 pid

U kunt de naam van het signaal (TERM of SIGTERM) gebruiken dat u naar het proces wilt sturen of het identificatienummer (15). Om een ​​volledige lijst van mogelijke signalen te zien, raad ik aan de kill-handleiding te raadplegen. Om dit te doen, voer je uit:

Gerelateerd artikel:
Afsluiten en opnieuw opstarten met behulp van opdrachten
man doden

Laten we een voorbeeld bekijken van hoe u Firefox kunt doden:

Eerst moet u de PID van het programma achterhalen:

ps -ef | grp Firefox

Dat commando zal iets als dit retourneren:

1986? Sl 7:22 /usr/lib/firefox-3.5.3/firefox

We gebruiken de PID die wordt geretourneerd door het bovenstaande commando om het proces te beëindigen:

kill -9 1986

killall: dood een proces met zijn naam

Deze opdracht is heel eenvoudig

killall procesnaam

Een ding om in gedachten te houden bij het gebruik van deze methode is dat als er meer dan één exemplaar van dat programma wordt uitgevoerd, ze allemaal worden gesloten.

Gerelateerd artikel:
Cron & crontab, uitgelegd

pkill: dood een proces met een deel van zijn naam

Het is mogelijk om een ​​proces te beëindigen door de volledige naam of een deel van de naam op te geven. Dat betekent dat u de proces-PID niet hoeft te onthouden om het signaal te verzenden.

pkill part_process_name

In ruil daarvoor zal deze methode alle processen doden die het ingevoerde woord bevatten. Dat betekent dat als we 2 processen open hebben die een woord in de naam delen, beide worden gesloten.

xkill: dood een proces door het venster met de muis te selecteren

Dit is de eenvoudigste en meest praktische methode. In geval van een ramp, drukt u gewoon op Alt + F2 om het dialoogvenster te openen waarin u opdrachten kunt uitvoeren. Voer vanaf daar de volgende opdracht uit:

xkill

De muiscursor verandert in een kleine schedel. Het enige dat overblijft, is klikken op het venster dat u wilt sluiten en voila. Dag proces.

Enkele laatste opmerkingen

Tot slot wilde ik enkele tips delen die nuttig kunnen zijn. In Linux, zoals in Windows, wanneer een proces vastloopt, kan het betreffende venster over het algemeen worden gesloten door op de knop Sluiten te klikken (die de vorm heeft van een X). Na een paar seconden verschijnt er een venster waarin we worden gevraagd of we het proces echt willen beëindigen, aangezien het niet correct reageert. We zeggen ja en dat is het.

Dit betekent dat de hier beschreven methoden moeten worden gebruikt als er niets gebeurt wanneer u op de knop Sluiten van het betreffende venster klikt.

In geval van een grote calamiteit, vergeet niet dat voordat u op drukt, het mogelijk is om een "veilige" herstart.

Ten slotte kan het erg handig zijn om erachter te komen welke processen momenteel worden uitgevoerd. Hiervoor hebben de verschillende desktopomgevingen (GNOME, KDE, etc.) grafische tools die deze taak vergemakkelijken. Als u er echter geen toegang toe hebt of het gewoon vanaf de terminal wilt doen, kunt u het volgende doen:

top

Als dit niet werkt of als u het bijbehorende pakket niet hebt geïnstalleerd, kunt u altijd het volgende uitvoeren:

ps - A

Dit geeft een lijst van alle lopende processen, samen met hun respectievelijke namen en PID's.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Jerome Navarro zei

    «Ps -ef | "grep firefox" is niet hetzelfde als "pgrep firefox"?

    Persoonlijk gebruik ik "pidof" om de PID te krijgen.

    Groeten!

  2.   Iago Martinez Ocaña zei

    wat ik het meest gebruik is:
    ~ $ boven
    toont ons de lijst met actieve processen, en als we op "k" drukken of "kill" schrijven, zal het ons vragen om de pid van het proces te doden (we lezen het van bovenaf) en dan invoeren, om naar boven te gaan, drukken we op "q ".
    Zeer goede inzending, maar dit formulier lijkt mij eenvoudiger. Als de terminal niet werkt, proberen we het met ctrl + alt + f [1-6] en doen we het van daaruit.

  3.   anatonia zei

    Wat een genie jongens, bedankt voor het helpen, heeft me een geweldige hand gegeven met dit bericht !!!

  4.   Octavio Villanueva zei

    Hallo! Zou het kunnen dat het xkill-commando alleen het X-programma laat verdwijnen en open blijft? Omdat het mij altijd overkomt dat wanneer ik naar de taakbeheerder ga, het proces nog steeds leeft en ik het moet doden.
    Ik geef het toe, ik ben een heel nieuweling. En de killall- en pkill-commando's zullen me veel helpen. Bedankt voor het uploaden, zeer goede blog.
    Groeten!

  5.   heberth eekhoorn zei

    Ik raad htop aan? Daar is het het beste voor ...

    werkt met ncurses

    sudo apt-get install htop

  6.   Lyonn zei

    pidof is niet voor alle Unixen, bijvoorbeeld Solaris heeft dat commando niet, en dat brengt ons ertoe de krachtige ps te gebruiken.

    groeten

  7.   dub zei

    htop is meer uitgebreid en gebruiksvriendelijker

  8.   RudaMale zei

    In het geval dat je PID gebruikt, is het juiste $ kill PID dat standaard het SIGTERM-signaal verzendt, in het geval dat het proces niet reageert, wordt $ kill -9 PID gebruikt die het SIGKILL-signaal verzendt, de laatste elimineert het proces zonder het is dezelfde sluiting correct (er kan bijvoorbeeld gegevensverlies zijn). SIGTERM vraagt ​​alsjeblieft, SIGKILL geeft hem een ​​bijl 🙂

  9.   Rodrigo zei

    Heel erg bedankt, ik zal het testen als het mij weer overkomt.

  10.   Rodrigo zei

    een vraag. Als de desktopomgeving vastloopt in Ubuntu (ik gebruik Unity), kan deze dan opnieuw worden opgestart zonder alle andere processen te beëindigen? Ik ben niet erg gevorderd in linux en het overkomt me soms dat ik aan het werk ben en het loopt vast, het enige wat ik doe is de veilige herstart, maar ik verlies alles waar ik aan werkte.

    Ik weet niet of mijn twijfel wordt begrepen.

    groeten

  11.   Stall Valds zei

    Een proces in de zombiestaat kan niet op de traditionele manier worden gedood.

    Hier voor meer details: esdebian.org/wiki/matar-proceso-zombie

  12.   kraftig zei

    Voor de meer gevorderden, hoe dood je een proces in de ZOMBIE-staat?
    gewoon om een ​​kleine chat te genereren 😀

  13.   George Vips zei

    Heel goed, precies wat ik nodig had ..

  14.   peper zei

    De waarheid is dat het kill-commando erg handig is. Het is geweldig om vervelende processen te doden door simpelweg kill aan te roepen. Eindelijk een commando dat iets dient.

  15.   Alex zei

    Theoretische vraag: het doden van een proces betekent dat het stopt met werken. Dus mijn vraag is andersom: als ik dat proces dat ik heb gedood wil herstarten, hoe doe ik dat dan?

    1.    alex zei

      nou je zegt ./ (de naam van het proces) &
      Hiermee voer je het opnieuw uit en komt je PID er ook uit 😀

  16.   JC Rivera zei

    Uitstekend, ik had tijd om op deze manier hulp te zoeken. Het was erg nuttig voor mij. Heel erg bedankt voor het delen.
    Groeten uit San Luis Potosí, Mexico.

  17.   alex zei

    Hoe kan ik twee processen doden die hun PID kennen in dezelfde opdracht?

    1.    John zei

      Ik denk dat het 'kill [First PID] [Second PID] was

  18.   Gauchita Watafak zei

    Heel interessant artikel. Deze website is mijn belangrijkste linux-website.

    Ik gebruik over het algemeen:
    ps bijl | grep process_name (dit om het op het systeem te lokaliseren)
    kill -9 process_id

    Ik deel een gratis online bash-cursus die rond gaat:
    https://aprendemia.com/cursos/curso-de-bash-scripting Hopelijk is het nuttig.

  19.   andy zei

    en als ik wilde dat het een profiel in linux was, alleen degene die sluit zoals het zou moeten zijn?

    voorbeeld Ik heb 2 firefox-profielen geopend
    maar ik wil maar één profiel sluiten

    profiel 1
    profiel 2

    Ik wil dat alleen profiel 2 wordt afgesloten zoals het commando zou moeten zijn

    bij voorbaat dank voor het antwoord

  20.   Moi zei

    hoe kan ik ubuntu-voorgrondprocessen doden met een enkele opdrachtregel