Hoe identificeer je een Linux-proces dat luistert op een specifieke poort?

Het achterhalen welk proces een bepaalde poort in Linux bezet houdt, kan een redder in nood zijn, vooral wanneer dingen niet werken zoals verwacht – zoals een server die niet opstart of een poortconflict. Soms is het even zoeken naar wat er draait en het juiste proces beëindigen, maar als je het eenmaal door hebt, is het vrij eenvoudig. Bovendien helpt het kennen van de commando’s om te voorkomen dat je blindelings processen beëindigt. Deze handleiding beschrijft enkele van de beste commando’s en stappen om processen te identificeren en te beheren die luisteren op specifieke poorten, met praktische voorbeelden.

Hoe vind en beheer je processen die luisteren op poorten in Linux?

Zoek een proces dat luistert op een specifieke poort.

Als een bepaalde poort bezet is of de app niet werkt, moet je eerst uitzoeken welk proces die poort gebruikt. Om bijvoorbeeld poort 8000 te controleren, kun je met sudo lsof -i :8000het commando `port 8000` zien welk proces die poort bezet houdt. Het belangrijkste is de procesnaam, maar nog belangrijker is de PID (proces-ID).Zodra je die hebt, wordt het beheren van het proces een stuk eenvoudiger.

Dit werkt echt wonderen bij het oplossen van problemen: bijvoorbeeld een webserver of een lokale ontwikkelserver die niet goed functioneert. In sommige configuraties werkt de opdracht soms niet als je hem niet met `sudo` uitvoert. Wees dus niet lui en voer hem uit als root of met beheerdersrechten.

Een lijst van alle actieve TCP- en UDP-poorten

Als je een breder overzicht wilt van wat er op *elke* netwerkpoort luistert, sudo netstat -lntup| grep LISTENdan is netstat je beste vriend. Ja, netstat voelt een beetje ouderwets aan, maar het is nog steeds degelijk en nuttig — vooral omdat het je alle TCP- en UDP-luisteraars tegelijk laat zien, inclusief de proces-ID’s en -namen als je de juiste vlaggen toevoegt.

Hieronder staat beschreven wat elk onderdeel doet:

  • -l– filter om alleen luisterende sockets weer te geven
  • -n– vermijdt DNS-zoekopdrachten, toont alleen IP- en poortnummers, wat tijd bespaart
  • -t– focus op TCP
  • -u– UDP
  • -p– inclusief de proces-ID en -naam, superhandig om precies te achterhalen wie er meeluistert

Soms wil je misschien alleen zoeken naar iets specifieks, zoals “LISTEN” of een bepaald poortnummer, zodat de uitvoer niet overspoeld wordt met informatie.

Controleer welk proces luistert op een bekende poort.

Als je het poortnummer al weet en de procesdetails wilt bekijken, is dat een klassieke aanpak. Als je bijvoorbeeld PID 72005 vindt die luistert op poort 8000, voer dan uit. Dit laat zien wie het proces heeft gestart en met welk commando, wat je een indicatie kan geven of het veilig is om het te stoppen of opnieuw te starten.ps -aux | grep ps -aux | grep 72005

Een kleine tip: sommige processen worden gestart door root of specifieke gebruikers, dus de informatie in psde uitvoer kan je veel vertellen over of je de juiste machtigingen hebt of dat het een service is die eigendom is van root.

Het proces stopzetten om de haven vrij te maken

Als je het proces hebt geïdentificeerd (bijvoorbeeld PID 72005) en je wilt dat het stopt, voer dan uit sudo kill -9 72005. Dit -9zorgt ervoor dat het proces onmiddellijk wordt beëindigd, maar gebruik het voorzichtig: het geeft het proces geen kans om op te ruimen. Soms is een gecontroleerde stop met (zonder ) voldoende.kill -9

Controleer na het beëindigen van het proces nogmaals of de poort vrij is met het oorspronkelijke commando:

$ sudo lsof -i :8000

Als er nu geen uitvoer verschijnt, is die poort weer vrij. Dit werkt beter dan blindelings de server of de machine opnieuw op te starten en te hopen dat het probleem is opgelost.

Sommige configuraties maken mogelijk gebruik van firewalls of andere netwerkinstellingen die dit beïnvloeden, maar deze commando’s behandelen de kernaspecten van het rechtstreeks beheren van poorten en processen.

En mocht je nieuwsgierig zijn, er is ook een handig GitHub-project: Winhance, dat helpt bij het beheren van processen en poorten op Windows. Maar voor Linux volstaan ​​deze basiscommando’s meestal wel.