Wenn ich laufe netstat --protocol unix
oder lsof -U
sehe, dass einigen Unix-Socket-Pfaden ein @ -Symbol vorangestellt ist, z. B. @ / tmp / dbus-qj8V39Yrpa . Wenn ich dann laufe, ls -l /tmp
sehe ich dort keine Datei mit dem Namen dbus-qj8V39Yrpa .
Die Frage ist, was bedeutet das vorangestellte @ -Symbol? Die zweite verwandte Frage lautet: Wo finde ich die Unix-Socket-Datei ( @ / tmp / dbus-qj8V39Yrpa ) im Dateisystem?
ss
Programm auch Socket-Endpunkte wie "@ / tmp / .X11-unix / X0"Antworten:
Das
@
weist wahrscheinlich auf einen Socket hin, der sich in einem befindet,abstract namespace
der nicht zu einer Datei im Dateisystem gehört.Zitat aus der Linux-Programmierschnittstelle von Michael Kerrisk :
Das Anzeigen eines
null byte
führenden@
Zeichens zur Bezeichnung eines solchen Sockeltyps kann schwierig sein, sodass dies möglicherweise der Grund für das führende Zeichen ist.quelle
Wie pro
man 7 unix
Sieht so aus, als wären diese "abstrakt" - es ist also kein realer Pfad im Dateisystem vorhanden
quelle