Ich muss wissen, ob ein Prozess mit einer bestimmten PID einen Port ohne Verwendung externer Befehle geöffnet hat. Ich muss dann das /proc
Dateisystem verwenden. Ich kann die /proc/$PID/net/tcp
Datei zum Beispiel lesen und Informationen über die vom Prozess geöffneten TCP-Ports erhalten. Bei einem Multithread-Prozess /proc/$PID/task/$TID
enthält das Verzeichnis jedoch auch eine net/tcp
Datei. Meine Frage ist :
Muss ich alle Thread- net/tcp
Dateien durchgehen , oder wird der von Threads geöffnete Port in die Prozessdatei geschrieben net/tcp
?
quelle
fd
Verzeichnis jedes Threads durchgehen ? Oder/proc/pid/fd
"erbt" das/proc/pid/task/tid/fd
Verzeichnis die Verzeichnisse?fd
Verzeichnis eines Threads wiederholt nur dasfd
Verzeichnis des Prozesses.