GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie finde ich vollständige Prozessargumente und zugehörige Listening-Ports?

ss -lnptu wird mit einem Aufruf von ps -p an awk geleitet. Ich verwende ein mobiles Gerät, daher ist es im Moment etwas schwierig, ein vollständiges Beispiel einzugeben.

Listening Sockets:

ss -lnptu | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'

Alle Sockets (erfordern wahrscheinlich eine zusätzliche Filterung aufgrund von Sockets ohne Prozessinformationen in TIME_WAIT usw.):

ss -anptu state listening state established state connected state unconnected | grep -v TIME_WAIT | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'


Ich habe Fehler von ps erhalten unter Ubuntu 16.04 bei unveränderter Verwendung der Antwort von Mark Sturgill. Benötigte eine leichte Änderung, damit es funktioniert:Im Grunde wurde eine zusätzliche split hinzugefügt um die numerische PID weiter vom verbundenen Format ss zu isolieren zurückgibt (z. B. pid=1306 -> 1306 ). Ich habe auch den -ww hinzugefügt Flag, damit ps die vollständigen Argumente ausgibt:

ss -lnptu | awk 'NR>1 { split($7,p,","); split(p[2],pid,"="); printf "Listen: "$5 " Command: "; system("ps --no-headers -ww -o args p "pid[2]); }'

Linux
  1. So finden und töten Sie den Zombie-Prozess in Linux

  2. Was sind Zombie-Prozesse und wie findet und tötet man Zombie-Prozesse?

  3. So finden und entfernen Sie doppelte Fotos in Linux

  4. Wie unterbreche ich einen Hintergrundprozess und bringe ihn in den Vordergrund?

  5. Wie überprüft man, auf welche Signale ein Prozess hört?

So finden und löschen Sie leere Verzeichnisse in Linux

So finden und schließen Sie offene Ports in Linux

So finden Sie die Prozess-ID eines Programms und beenden es [Kurztipp]

So finden Sie das Installationsdatum und die Uhrzeit des Linux-Betriebssystems

So finden Sie den Prozessnamen anhand seiner PID

So finden Sie die PID und PPID eines Prozesses in Linux