Hoe de PID van een Linux -proces te vinden met PIDOF of PGREP

Nov 15, 2024
Linux

Werken met een Linux -proces betekent vaak het kennen van de proces -ID of PID. Het is een uniek nummer dat wordt gegeven aan elk stukje lopende software. Hier zijn twee manieren om erachter te komen wat het is.

Wat is een Linux -proces -ID?
Hoe u een Linux PID krijgt met de PIDOF -opdracht
Hoe PID's te vinden met de PGREP -opdracht in Linux

Wat is een Linux -proces -ID?

Intern houdt Linux zijn loopproces bij door ze een uniek ID -nummer toe te wijzen, de proces -ID of PID genoemd. Elke lopende applicatie, hulpprogramma en daemon heeft een PID.

PID's zijn eenvoudige gehele waarde. Een nieuw gestart proces ontvangt een PID hoger dan de laatste PID die is uitgegeven. Het proces met de hoogste PID is dus het nieuwste - dat wil zeggen, het meest recent - proces. Dat gaat door totdat het systeem de maximale waarde raakt voor een PID.

De bovengrens voor een PID is 32768. Zodra dat cijfer is bereikt, gaat Linux terug naar het begin en zoekt naar een PID die gratis is geworden omdat het eerder eigendom van het proces is beëindigd.

Het proces met een PID van 1 is het eerste proces dat wordt gestart wanneer Linux wordt gestart door de opstartprocessen. Op systemen op basis van systemen die zullen zijn Systemd . Op andere systemen is het waarschijnlijk in het , hoewel sommige Linux -distributies alternatieven gebruiken, zoals Openrc of S6 .

Soms is het handig om de PID van een proces te ontdekken, meestal omdat u wat actie bij dat proces wilt uitvoeren. Hier zijn twee verschillende methoden om de PID van een proces te vinden wanneer u de naam van het proces.

VERWANT: Wat zijn Unix Pids en hoe werken ze?

Hoe u een Linux PID krijgt met de PIDOF -opdracht

De pidof Commando kan worden beschouwd als de combinatie van "PID" en "van." Het is alsof je vraagt wat de PID van dit proces is? Als we de opdracht zonder parameters gebruiken, doet het niets. Het retourneert u stilletjes naar de opdrachtprompt. We moeten een procesnaam opgeven.

pidof vertelt ons dat de pid van de bash shell 8304 is. We kunnen dat met de ps commando. Het enige dat we moeten doen is bellen ps zonder parameters. Het zal rapporteren over de processen die in de huidige sessie worden uitgevoerd.

Omdat ps Rapporten over alle processen die het kan vinden, waaronder zichzelf, het vertelt ons dat er een is bashen proces en een ps Proces draaien. Zoals we zouden verwachten, de bashen Proces heeft dezelfde PID die pidof gerapporteerd over.

Als u meer dan één terminalvenster hebt open, pidof zal over hen allemaal rapporteren.

Merk op dat de PID's worden vermeld van de hoogste tot laagste of, met andere woorden, van de meest recente tot de oudste.

Wat dit niet laat zien, is dat je misschien niet de eigenaar bent van al die processen. pidof Vindt alle processen met bijpassende namen, ongeacht wie ze bezit. Laten we dieper kijken door de output in te leiden grijp . We gebruiken de -e (selecteer alle processen) en de -F (Volledige lijst) Opties met ps .

Twee van de bash -processen behoren tot gebruiker Dave, de derde is van de gebruiker Mary.

Soms genereert één applicatie veel processen, die elk zijn eigen PID ontvangen. Dit is wat we krijgen met Google Chrome.

Standaard, pidof Rapporten over alle processen. Als we willen, kunnen we alleen maar om de meest recente van die processen vragen. De -S (Optie Single Shot) doet precies dat.

Om de doden opdrachten handmatig doden allemaal chroom processen zouden vervelend zijn. Als we de lijst met processen in een variabele vastleggen, kunnen we die variabele doorgeven aan de doden commando. De doden Commando kan meerdere PID's op zijn commando accepteren, dus het accepteert graag onze input en doodt alle processen voor ons.

De eerste opdracht verzamelt de uitvoer van pidof en wijst het toe aan onze variabele, die we noemen pid . Dat hoeven we niet te doen echo Het naar het scherm, we doen dat gewoon om te laten zien wat onze variabele inhoudt.

We geven de variabele door aan de doden commando, gebruik vervolgens pidof Nogmaals om te controleren of chromen processen blijven bestaan. Ze zijn allemaal gedood.

Een gril van pidof is dat het de PID van een shell -script niet zal retourneren. Het retourneert de PID van de bashen Shell die het script uitvoert. Om de shell te zien die een script uitvoert, moeten we de -X (Scripts) Optie.

pidof retourneert de PID van een bash -schaal, en ps laat ons zien dat er twee schelpen draaien. Een daarvan is de schaal die de pidof opdracht en de andere is de shell die het script uitvoert.

Hoe PID's te vinden met de PGREP -opdracht in Linux

De pgrep commando werkt een beetje zoals pidof bij het verkrijgen van proces -ID's in Linux. Het vindt echter niet alleen processen die exact overeenkomen met de zoekopdracht, het retourneert ook de PID's van alle processen waarvan de naam bevat de zoektekst.

Hier is een voorbeeld op een computer waarop Firefox erop draait.

Al deze opdrachten vinden het Firefox -proces en retourneren de PID. Maar als u de opdracht hebt ingevoerd:

Op zichzelf, hoe zou u weten of Pgrep fi had gevonden weerkaatsen X en niet, zeg, een Dameon genaamd P overbrengen MD?

Als u het -l (Lijstnaam) Optie, PGREP vermeldt de procesnaam naast de PID.

Als er meerdere instanties van een matchingproces zijn, worden ze allemaal vermeld.

Merk op dat ze worden vermeld in oplopende volgorde, wat de tegenovergestelde volgorde is van de uitvoer van pidof . Ze worden vermeld van het oudste proces tot het nieuwste proces. Zoals we zagen met pidof , niet alle vermelde processen behoren noodzakelijkerwijs van u.

De -u (User ID) Optie kunt u zoeken naar processen die overeenkomen met de zoektekst en zijn eigendom van de genoemde gebruiker .

Deze keer zien we drie bash -processen in de resultaten. De andere wordt gebruikt door Maria .

En we kunnen vragen om alle processen voor een specifieke gebruiker te zien.

Gebruik de volledige opdrachtregel om de volledige opdrachtregel te zien -A (Volledige lijst) Optie.

Een woord over PID -eigendom

Niet alle systeemprocessen zijn eigendom van de rootgebruiker . Velen zijn natuurlijk, maar niet allemaal. Deze opdracht werkt bijvoorbeeld:

Het faalt omdat wortel bezit dat proces niet. De werkelijke eigenaar is een systeemgebruiker genaamd "Avahi." Met behulp van de juiste gebruikersnaam werkt de opdracht.


Linux - Meest populaire artikelen

DB-browser gebruiken voor SQLite op Linux

Linux Dec 16, 2024

Fatmawati achmad zaenuri / shutterstock DB Browser voor SQLite kunt u bekijken en bewerken SQLite databases op Linux. U kunt ontwerpen, maken en bewer..


Wat is nieuw in Ubuntu 21.04 ‘Hirsute Hippo’

Linux Apr 22, 2025

De gloednieuwe afgifte van Ubuntu 21.04 , de Hirsute Hippo, werd vrijgegeven op 22 april 2021. Het is een interim-release van de populaire Linux-distributie, met slechts negen..


Hoe te gebruiken Brace Expansion in Linux Bash Shell

Linux May 12, 2025

Fatmawati achmad zaenuri / shutterstock Brace-expansie is een nuttige techniek om lijsten van snaren te genereren die kunnen worden gebruikt in scripts en alia..


Hoe Alles verbergen Bureaubladpictogrammen op Mac

Linux Jun 23, 2025

Krisda / Shutterstock Is je Mac desktop een puinhoop? Wil je niet echt alles organiseren? Maak je geen zorgen, je kunt een opdracht voor Terminal gebruiken om ..


Hoe Log uit je Mac met behulp van Terminal

Linux Aug 8, 2025

Apple maakt het eenvoudig om uit te loggen van uw Mac met de optie in de menubalk van de desktop. Maar er zijn ook een aantal commando's die u kunt gebruiken om u uit te loggen met Termi..


Hoe uitschakelen een Ubuntu-pc

Linux Oct 12, 2025

Net als alle personal computers, een pc met de Ubuntu desktop-besturingssysteem moet nu en dan worden uitgeschakeld. Afsluiten Ubuntu is eenvoudig, en je hebt verschillende meth..


Hoe DNS in Linux te spoelen

Linux Nov 14, 2024

Is uw browse -ervaring op internet langzaam op uw Linux -apparaat, of zijn de websites die u verouderd of de verkeerde website bezoekt? Laten we het doorspoelen van de DNS -cache op Linux bespr..


Hoe u uw openbare IP kunt krijgen in een Linux Bash -script

Linux Nov 9, 2024

U hebt uw externe IP -adres nodig als u op afstand verbinding wilt maken met uw computer. Handmatig vinden is eenvoudig, maar hier is hoe u uw IT kunt vinden vanuit een Linux -script. Int..


Categorieën