Ich möchte herausfinden, welcher Prozess (insbesondere die Prozess-ID) einen bestimmten Port verwendet. Der einzige Haken ist, dass ich weder sudo verwenden möchte noch als root angemeldet bin. Die Prozesse, für die dies funktionieren soll, werden von demselben Benutzer ausgeführt, für den ich die Prozess-ID ermitteln möchte. Ich hätte also gedacht, dass dies einfach ist.
Beide lsof
und netstat
werden mir die Prozess-ID nicht mitteilen, es sei denn, ich führe sie mit sudo aus - sie werden mir jedoch mitteilen, dass der Port verwendet wird.
Als zusätzlichen Kontext habe ich verschiedene Apps, die alle über SSH eine Verbindung zu einem von mir verwalteten Server herstellen und Reverse-Port-Forwards erstellen. Sobald diese eingerichtet sind, führt mein Server eine Verarbeitung über den weitergeleiteten Port durch, und dann kann die Verbindung unterbrochen werden. Wenn ich bestimmte Ports (jede App hat ihre eigenen) Prozessen zuordnen kann, ist dies ein einfaches Skript. Irgendwelche Vorschläge?
Dies ist übrigens auf einer Ubuntu-Box - aber ich vermute, dass jede Lösung in den meisten Linux-Distributionen Standard sein wird.
-an
.netstat -pant
funktioniert auch und es ist leichter zu merken.