Ketika saya menjalankan netstat --protocol unix
atau lsof -U
saya melihat bahwa beberapa jalur soket unix diawali dengan simbol @, misalnya, @ / tmp / dbus-qj8V39Yrpa . Kemudian ketika saya menjalankan ls -l /tmp
saya tidak melihat file bernama dbus-qj8V39Yrpa di sana.
Pertanyaannya adalah apa yang dilambangkan dengan simbol @ yang berurutan itu? Dan pertanyaan kedua yang terkait, adalah - di mana saya benar-benar dapat menemukan file soket unix ( @ / tmp / dbus-qj8V39Yrpa ) pada sistem file?
ss
juga menunjukkan titik akhir soket seperti "@ / tmp / .X11-unix / X0"Jawaban:
Yang
@
mungkin menunjukkan soket yang disimpan dalamabstract namespace
yang bukan milik file di sistem file.Mengutip dari The Linux Programming Interface oleh Michael Kerrisk :
Menampilkan
null byte
arahan untuk menunjukkan jenis soket seperti itu mungkin sulit, sehingga mungkin merupakan alasan untuk@
tanda utama .sumber
Sesuai
man 7 unix
Sepertinya ini 'abstrak' - jadi tidak ada jalur nyata di sistem berkas
sumber