In een besturingssysteem zijn er veel programma's die plaatsvinden in het RAM-geheugen van de computer. Deze programma's kunnen door het besturingssysteem zelf worden uitgevoerd of door een gebruiker, dergelijke programma's worden genoemd 'Processen .' Normaal gesproken heeft een proces zijn eigen levenscyclus en wordt het automatisch beëindigd wanneer het is voltooid of wanneer we het handmatig afsluiten. Maar soms kan een proces vastlopen als gevolg van een fout in de procesplanning of omdat er veel RAM of CPU wordt verbruikt. In dergelijke gevallen moeten we de processen handmatig beëindigen om te voorkomen dat onze machine onverwacht vastloopt.
Linux staat verschillende tools toe om een foutief proces te beëindigen. Om een proces te beëindigen, moeten we over de procesinformatie beschikken, zoals PID, signaal en meer .
Lokaliseren van de processen
Om een proces te beëindigen, moeten we toegang krijgen tot de procesinformatie. Er zijn verschillende opdrachten om een proces te volgen, zoals bovenkant , ps , greep, En pidof.
Met het Linux-systeem kunnen we een proces op verschillende manieren beëindigen, zoals een proces beëindigen op basis van zijn naam of proces-ID (PID). We zullen dus de bovenstaande commando's gebruiken volgens onze behoefte.
Lokaliseren van de processen via het 'top'-commando
De bovenkant commando wordt gebruikt om alle actieve processen in een Linux-systeem weer te geven. Het toont gedetailleerde informatie zoals PID, gebruikersnaam, CPU-gebruik, tijd, uitgevoerde opdracht en meer.
Om de processen te lokaliseren, voert u de opdracht als volgt uit:
download youtube-video's op vlc
top
Met de bovenstaande opdracht worden de lopende processen weergegeven. Beschouw de onderstaande uitvoer:
We kunnen door de processen bladeren door op en neer te scrollen op de terminal. De opdracht top biedt verschillende filters om de processen te filteren, zoals procesnaam, CPU-gebruik en meer. Om het bovenste gedeelte te verlaten, drukt u op de 'Q' sleutel, u keert terug naar de terminal. We kunnen echter ook de traditionele exit-optie gebruiken door op te drukken CTRL+C sleutels.
Lokaliseren van de processen met de opdracht ps en grep
De ps commando is een andere manier om de procesinformatie weer te geven. Er zijn veel opties die worden gebruikt met de opdracht ps, zoals naar, wat betekent:
A : Om de processen voor alle gebruikers weer te geven
in : Om de processen weer te geven die door een bepaalde gebruiker worden gebruikt
X : Om alle processen weer te geven. Als we de x-optie niet specificeren, wordt het GUI-proces niet weergegeven.
Voer de onderstaande opdracht uit om alle actieve processen weer te geven:
ps aux
Beschouw de onderstaande uitvoer:
De uitvoer van het ps-commando is vergelijkbaar met het bovenkant commando. De procesnaam en PID worden in de eerste twee kolommen gegeven, en de procesnaam wordt in de rechterkolom gegeven.
Het ps-commando is nuttiger dan het top-commando. Hiermee kunnen we de uitvoer filteren met de grep-opdracht.
Stel dat we het hele proces willen filteren met de gebruikersnaam javatpo+, voer dan de opdracht als volgt uit:
ps aux | grep javatpo+
De bovenstaande opdracht filtert het hele opgegeven proces op basis van de grep-opdracht. Beschouw de onderstaande uitvoer:
De bovenstaande uitvoer biedt zowel de ps-opdracht als de functionaliteit van de grep-opdracht samen.
Lokaliseer het proces met de opdrachten pidof en pgrep
De pidof commando stelt ons ook in staat het proces te lokaliseren. Als we een proces op naam willen volgen, zal het pidof-commando erg handig zijn. Het geeft de PID's van de processen weer wanneer het wordt gebruikt met de procesnaam.
Om de PID van een proces te lokaliseren, voert u het pidof-commando als volgt uit:
pidof process_name
Als we het lopende proces met de exacte naam hebben chroom , voer de opdracht als volgt uit om de PID's op te halen.
pidof chrome
overweeg de onderstaande uitvoer:
Een proces doden
Nu we de processen hebben gevolgd, kunnen we een proces beëindigen. Er zijn verschillende commando's die worden gebruikt om een proces te beëindigen, zoals doden , doden , bovenkant, En pkill.
Voordat we een proces kunnen doden, is het noodzakelijk om te weten welke processen we kunnen doden. Hieronder staan enkele essentiële punten over moordprocessen:
- Als u een normale gebruiker bent, kunt u alleen de processen beëindigen die bij u horen. U kunt de processen die door de andere gebruikers worden uitgevoerd, niet beëindigen. De bovenkant En ps tot opdrachten tonen de gebruikers met het gerelateerde proces.
- Een rootgebruiker kan alle processen beëindigen. We kunnen echter ook sudo vóór elke opdracht toevoegen om het als root uit te voeren.
- Wanneer in Linux een proces wordt beëindigd, wordt er een speciaal signaal naar de processen verzonden. Hoewel er verschillende soorten signalen zijn in Linux, behandelt Linux in dit geval de SIGKILLS En TERMIJN signalen. Standaard. Linux verzendt de SIGTERM, die het proces netjes beëindigt. Als je een proces met geweld wilt beëindigen, gebruik dan SIGKILL.
- Linux houdt de status van de processen bij totdat deze volledig uit het systeem is verwijderd. De onderliggende processen worden dus weergegeven in de proceslijst totdat een ouderproces wordt verwijderd.
- We kunnen een proces niet beëindigen als het in werking is 'ononderbroken slaap .' Deze situatie doet zich voor wanneer een proces een invoer-/uitvoerbewerking uitvoert. Deze toestand is te zien in de 8ekolom van bovenkant en ps naar het commando.
Een proces doden met het killall-commando
Het commando killall is de gemakkelijkste techniek om een proces te beëindigen als u de exacte procesnaam kent, het niet door een andere gebruiker wordt uitgevoerd en het zich niet in de Z- of D-status bevindt. Bij het commando ‘kill all’ is het niet nodig om het proces of de PID te lokaliseren. Om een proces te beëindigen, voert u het commando als volgt uit:
killall firefox
Met het bovenstaande commando wordt het proces beëindigd en de Firefox-browser afgesloten. Beschouw de onderstaande uitvoer:
Als het commando het proces met succes beëindigt, zal het geen uitvoer opleveren.
Om het proces met kracht te beëindigen, voert u de opdracht killall uit met -SIGKILL als volgt:
killall -SIGKILL process_name
we kunnen ook -9 gebruiken in plaats van -SIGKILL.
Om een proces interactief te beëindigen, voert u de opdracht als volgt uit:
killall -i process_name
Om een proces als een andere gebruiker te beëindigen, voert u de opdracht als volgt uit:
sudo killall process_name
We kunnen een proces ook voor een bepaalde tijd beëindigen door gebruik te maken van -O En -En vlaggen. Om een proces dat langer dan 20 minuten actief is te beëindigen, voert u het onderstaande commando uit: killall -o 20m procesnaam
Om een proces te beëindigen dat minder dan 20 minuten actief is, voert u de onderstaande opdracht uit:
killall -y 20m process_name
Afkortingen voor het gebruik van de tijdsperiode zijn als volgt:
seconden: s
minuten: m
uur: u
dagen: d
weken: w
maanden: M
jaar: j
Beëindig een proces met het pkill-commando
Soms weten we de exacte naam van het proces niet; in dat geval zal de opdracht pkill het nuttigste hulpprogramma zijn om een proces te beëindigen. Hiermee kunnen we een proces beëindigen door de overeenkomende naam van het proces in te voeren. We willen bijvoorbeeld alle processen met de overeenkomende naam Java beëindigen, voer de opdracht als volgt uit:
pkill java
het sluit alle processen die naam Java bevatten. Op dezelfde manier voert u voor het beëindigen van een Firefox-proces de opdracht als volgt uit:
pkill fire
Beschouw de onderstaande uitvoer:
Als de opdracht pkill met succes wordt uitgevoerd, wordt er geen uitvoer weergegeven.
Om een proces met kracht te beëindigen met de opdracht pkill, voert u het als volgt uit:
pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>
Dood een proces met het kill-commando
Het kill-commando is het eenvoudigste hulpprogramma om een proces te beëindigen; alles wat we nodig hebben is een PID van een proces. Zodra we de PID van het proces hebben, is het een eenvoudig proces. Om een proces te beëindigen, voert u het kill-commando uit, gevolgd door PID. Om de PID van een proces te lokaliseren, gebruikt u de opdracht top of ps aux, zoals hierboven uitgelegd.
Om een proces met PID 5296 te beëindigen, voert u de opdracht als volgt uit:
kill 5296
Om een proces geforceerd te beëindigen, gebruikt u de optie -SIGKILL of -9:
kill -SIGKILL 5296
De bovenstaande opdracht beëindigt het proces met PID 5296.
Dood een proces via een topcommando
Met het bovenste commando kunnen we het proces lokaliseren en beëindigen. Het is een eenvoudig proces om een proces te beëindigen met behulp van de topopdracht. Voer eerst de bovenste opdracht uit om het proces te lokaliseren en druk op de 'k' toets terwijl de opdracht wordt uitgevoerd. Het zal u in de procesdodingsmodus duiken, voer de PID in van het proces dat u wilt doden. Beschouw de onderstaande uitvoer:
Zoals we uit de bovenstaande uitvoer kunnen zien, is er een optie 'PID om te signaleren/doden' om het proces uit de bovenstaande proceslijst te beëindigen. Typ de PID van het proces en druk op BINNENKOMEN sleutel.
Als we de PID leeg laten, wordt het bovenste proces beëindigd.
Dood een proces via Systeemmonitor
We kunnen ook een proces beëindigen via de grafische omgeving van Linux, genaamd systeemmonitor. Volg de onderstaande stappen om een proces via de systeemmonitor te beëindigen:
Stap 1: Zoek of blader door de systeemmonitor en druk op Enter om deze te openen.
Stap 2: Het zal alle actieve processen van uw Linux-systeem vermelden. Beschouw de onderstaande afbeelding:
Stap 3: Blader door het proces en klik er met de rechtermuisknop op dat u wilt beëindigen.
Stap 4: Selecteer de optie Doden. Ook kunnen we gebruik maken van de CTRL+K sleutels om het te doden.