Wie erhalten Sie PID- und PNAME-Werte basierend auf PORT ID-Suche. Die Ausgabe sollte generisch sein - linux, bash, shell, unix, ubuntu

  • (Q1) Ich möchte ein Shell-Skript schreiben, um den Prozess zu finden (pid, pname) auf einem bestimmten Port hören.
  • (Q2) Ich möchte auch NUR "Lokale Adresse" Spalte anzeigen, wenn ich laufe sudo netstat -tulnp. Bitte helfen Sie dabei.

Es tut mir leid, weil ich neu bei StackOverflow bin. Ich bin auch ein großer Anfänger in Shell Scripting. Das habe ich bisher gemacht:

clear

echo "Hello $USER"

echo "NETSTAT"

o1= "$(
sudo netstat -tulpn
)"

echo "Enter a port number : "
read num1

o2= "$(
sudo netstat -tulpn | grep $num1
)"

echo "The PID and PNAME of $num1 is: ";

echo $o2

Antworten:

-2 für die Antwort № 1

Befehl zum Abrufen der lokalen Adresse:

  1. Um die PID und den Namen zu bekommen
    sudo netstat -tulnp |
awk "/LISTEN/ && /3306/ { for(i=7; i<=NF; i++) { printf("%s ", $i) }; print "" }"

Ausgabe: 944/mysqld

  1. möchte nur die Spalte "Lokale Adresse" anzeigen, wenn ich "sudo netstat -tulnp" starte
    sudo netstat -tulnp |
awk "/LISTEN/ && /3306/ { for(i=7; i<=NF; i++) { printf( "%s ", $i ) }; print "" }"

Ausgabe: 0.0.0.0:3306 (was lokale Adresse ist)


Am beliebtesten