Linux dosya sistemimde, bir sembolik bağlantı işaret eder 127.0.1.1:+xxxxx
.
Neden artı işareti? Bir eksi de olabilir mi? Neden sadece değil 127.0.1.1:xxxxx
?
Linux dosya sistemimde, bir sembolik bağlantı işaret eder 127.0.1.1:+xxxxx
.
Neden artı işareti? Bir eksi de olabilir mi? Neden sadece değil 127.0.1.1:xxxxx
?
Yanıtlar:
Bir dosyaya işaret etmeyen sembolik bağlantıların genel bir anlamı yoktur. Bu durumda belki işlem kimliği veya üzerinde konuşulan bazı özel protokol veya başka tanımlayıcı ile bir liman olacak. Her şey hangi programın yaptığına bağlı.
Bu bağlantıları oluşturan yazılımlar basitçe avantajlardan yararlanır: 1) bir bağlantının hedefinin var olamayacağı ya da tamamen saçma olabileceği; 2) bir sembolik bağlantı oluşturmak, en az 3 ayrı sistem çağrısı alan normal bir dosya oluşturmanın aksine (hedefini okuduğu gibi) tamamen atomik bir işlemdir.
Bu nedenle, sembolik bağlantı oluşturma, diğer mekanizmalar güvenilmez olduğunda bile bir kilitleme yöntemi (programın tek bir örneğini sağlama) olarak kötüye kullanılabilir. Program aslında gerçek bir dosyaya çözmek için sembolik bağlantıya ihtiyaç duymaz: yalnızca bağlantı oluşturmanın başarılı olup olmadığı veya zaten mevcut olması nedeniyle başarısız olup olmadığı ile ilgilenir .
fopen
, fwrite
ve fclose
?
open
(veya creat
eski yazılımda olabilir) write
ve stdio'nun close
sağladığı f * sürümleri değildir. Ancak, evet, en azından yapmanız open
ve write
dosyayı oluşturmanız ve anlamlı bir şey koymanız gerekir. Şimdi, eğer bir kodun "oluşturmayı dene, başarılı olursa, içine biraz bilgi koy, başka bir şey, biraz bilgi oku" yapmasını istiyorsan, ikinci işlem read
, ilk işlemden önce bir şans vermeden önce deneyebilir write
. symlink
Bundan kaçınır; Bağlantıyı başarılı bir şekilde oluşturun ve oluşturun ya da başarısız olun ve readlink
sizin için bilgileri olduğundan emin olun .
Bildiğim kadarıyla "+", IP'den sonraki sayının ("xxxxx") "işlem kimliği" anlamına geldiğini ifade eder (genellikle [IP adresi]: [portnumber] gösterimini kullanan bir bağlantı noktası değil).
Bu "gösterimin" ("resmi" bir belge bilmediğim için "gösterim" olarak adlandıracağımdan emin değilim) mümkündür, belirli bir uygulama tarafından kullanılıyorsa başka bir şeyden söz eder - ama o zaman yine, her zaman olasılık sadece semboliklerle değil. "+ XXXX", tanıdığım (ve çok kapsamlı olmayan bir arama ile bulabildiğim tek vakalar) her zaman işlem kimliğine atıfta bulundu.
/proc
Veya gibi özel bir dizindeki bir bağlantı noktasından bahsediyor gibisiniz /dev
. Bu linkin ne için kullanıldığını açıklayabilir misiniz?