Pada sistem file Linux saya, sebuah symlink menunjuk ke 127.0.1.1:+xxxxx
.
Mengapa tanda plus? Mungkinkah ada juga minus? Kenapa tidak adil 127.0.1.1:xxxxx
?
Pada sistem file Linux saya, sebuah symlink menunjuk ke 127.0.1.1:+xxxxx
.
Mengapa tanda plus? Mungkinkah ada juga minus? Kenapa tidak adil 127.0.1.1:xxxxx
?
Jawaban:
Tautan simbolik yang tidak mengarah ke file tidak memiliki arti umum sama sekali. Dalam hal ini mungkin ID proses, atau port dengan beberapa protokol khusus yang diucapkan di atasnya, atau pengidentifikasi lainnya. Itu semua tergantung pada program apa yang membuatnya.
Perangkat lunak yang membuat tautan ini hanya mengambil keuntungan dari fakta bahwa 1) target symlink mungkin tidak ada atau bahkan omong kosong total; 2) membuat symlink adalah operasi atom sepenuhnya-syscall sepenuhnya (seperti membaca targetnya), tidak seperti membuat file biasa yang membutuhkan setidaknya 3 panggilan sistem terpisah.
Dengan demikian pembuatan symlink dapat disalahgunakan sebagai cara mengunci (memastikan satu contoh program) bahkan ketika mekanisme lain mungkin tidak dapat diandalkan. Program tidak perlu symlink untuk benar-benar menyelesaikan ke file nyata: itu hanya peduli apakah membuat tautan berhasil, atau apakah gagal karena sudah ada.
fopen
, fwrite
dan fclose
?
open
(atau mungkin creat
dalam perangkat lunak lama) write
,, dan close
, bukan versi f * yang disediakan stdio. Tapi, ya, Anda harus melakukan setidaknya open
dan write
untuk membuat file dan memasukkan sesuatu yang bermakna ke dalamnya. Sekarang jika Anda ingin beberapa kode untuk "mencoba membuatnya, jika berhasil, masukkan beberapa informasi ke dalamnya, jika tidak, baca beberapa informasi dari itu", proses kedua hanya bisa mencoba read
sebelum proses pertama memiliki kesempatan untuk melakukannya write
. symlink
hindari itu; baik berhasil dan membuat tautan, atau gagal dan yakin readlink
memiliki informasi untuk Anda.
Sejauh yang saya tahu "+" berarti bahwa angka setelah IP ("xxxxx") mengacu pada "ID proses" (bukan port yang biasanya menggunakan notasi [alamat IP]: [portnumber]).
Mungkin saja "notasi" ini (tidak yakin saya akan menyebutnya "notasi" karena saya tidak tahu dokumentasi "resmi") merujuk pada sesuatu yang lain jika digunakan oleh aplikasi tertentu - tetapi sekali lagi, itu selalu menjadi kemungkinan tidak hanya dengan symlink. Satu-satunya kasus yang saya ketahui (dan dapat ditemukan dengan pencarian yang tidak terlalu luas) "+ XXXX" selalu merujuk ke ID proses.
/proc
atau /dev
. Bisakah Anda menjelaskan untuk apa symlink ini digunakan?