Ich muss mehrere TCP-Sockets öffnen, die jedem in Linux programmierten Namespace entsprechen.
Ich wollte wissen, ob die diesen Buchsen zugewiesenen fd identisch sein können oder sie immer systemweit eindeutig sind?Sind Dateideskriptoren, die Sockets in verschiedenen Namespaces entsprechen, demselben numerischen Wert zugeordnet?
Antwort
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.
- 1. Die 3 verschiedenen entsprechen
- 2. Was sind die möglichen Werte für Dateideskriptoren?
- 3. Teilklasse in verschiedenen Namespaces
- 4. Mehrere Namespaces unter demselben Modul in ZF2
- 5. Gleicher Funktionsname in verschiedenen Namespaces
- 6. Wie kann() auf regulären Dateideskriptoren (Nicht-Sockets) warten?
- 7. Plotkoordinaten mit verschiedenen Farben, die Klassenbezeichnungen in Matplotlib entsprechen
- 8. Zuordnung von Dateideskriptoren in C
- 9. ist es eine gute Idee, Klassen mit demselben Namen in verschiedenen Namespaces in C# zu haben?
- 10. Hibernate ignorieren Klassenvariablen, die nicht zugeordnet sind
- 11. Wie pingelig sind die Laravel-Namespaces?
- 12. N: 1 Dateideskriptoren?
- 13. Freundschaftsklassen in verschiedenen Namespaces. Ist das möglich
- 14. Wie wird das Zeichen einer numerischen Position in Java zugeordnet?
- 15. demselben Namen in verschiedenen Straßennamen enthalten - geocode.arcgis.com
- 16. Sockel und Dateideskriptoren
- 17. Socket.IO Vermischung von Abfrageparametern in verschiedenen Namespaces
- 18. Verwenden Sie die Schnittstelle mit verschiedenen Namespaces in Typoskript
- 19. C++: mehrere Header-Dateien mit demselben Namen aus verschiedenen Namespaces enthalten
- 20. Die Anzahl der Dateideskriptoren in Linux erhöhen
- 21. Wie erstelle ich einen leeren Pandas DataFrame mit verschiedenen Datentypen, die jeder Spalte zugeordnet sind?
- 22. Include serverseitige Eigenschaften, die Entity Framework-Entität nicht zugeordnet sind
- 23. Mit demselben Objekt in verschiedenen Paketen
- 24. Logstash Dateideskriptoren schließen?
- 25. Was sind die verschiedenen Auslöser in WPF?
- 26. Was sind die verschiedenen Eigenschaften in System.DirectoryServices.DirectorySearcher.PropertiesToLoad
- 27. Was sind die verschiedenen Zieltypen in EDE?
- 28. `geom_line()` verbindet Punkte zugeordnet zu verschiedenen Gruppen
- 29. Coerce-Typen in verschiedenen Namespaces mit identischem Layout in C#
- 30. Sind Sockets in den C++ Standard integriert?
Ein fd ist nie systemweit einzigartig. Es ist eine kleine ganze Zahl, die nur innerhalb des Prozesses einzigartig ist! –