2016-04-28 3 views

Antwort

0

Ein bestimmter Prozess kann nur Mitglied eines Namespaces sein. Ein Dateideskriptor ist nur im Kontext eines Prozesses relevant.

Wenn ein Prozess mehrere Sockets erstellt, sind diese Dateideskriptoren nur diesem Prozess bekannt und für externe Prozesse nicht nützlich (abgesehen von Diagnosetools wie /proc/PID/fd).

Wenn Sie Sockets in zwei verschiedenen Namespaces erstellt haben, werden sie definitionsgemäß in zwei verschiedenen Prozessen erstellt. Daher müssen die Dateideskriptoren nicht eindeutig sein (und wahrscheinlich auch nicht).

Wenn Sie etwas global einzigartig wollen, könnten Sie sich für die Socket "Inodes." Sie können darüber lesen, wie Sie diese hier auflisten: How do I find the inode of a TCP socket?. Ich vermute, habe aber nicht verifiziert, dass diese Inode-Nummern auf einer Maschine unabhängig vom Namespace eindeutig sind.

Verwandte Themen