52 votes

Dans un lien symbolique pointant vers '127.0.1.1:+xxxxx', à quoi sert le caractère plus ?

Sur mon système de fichiers Linux, un lien symbolique pointe vers 127.0.1.1:+xxxxx .

Pourquoi le signe plus ? Pourrait-il y avoir aussi un signe moins ? Pourquoi pas simplement 127.0.1.1:xxxxx ?

93voto

James Mertz Points 390

Les liens symboliques qui ne pointent pas vers un fichier n'ont aucune signification générique. Dans ce cas, il pourrait l'ID du processus, ou un port sur lequel un protocole spécial est appliqué, ou un autre identifiant. Tout dépend du programme qui l'a créé.

Les logiciels qui créent ces liens tirent simplement parti du fait que 1) la cible d'un lien symbolique peut être inexistante ou même totalement absurde ; 2) la création d'un lien symbolique est une opération totalement atomique (tout comme la lecture de sa cible), contrairement à la création d'un fichier normal qui nécessite au moins trois appels système distincts.

La création de liens symboliques peut donc être utilisée abusivement comme moyen de verrouillage (garantissant une instance unique d'un programme) même lorsque d'autres mécanismes ne sont pas fiables. Le programme n'a pas besoin que le lien symbolique renvoie à un fichier réel : il se préoccupe uniquement de savoir si créer le lien réussit, ou s'il échoue parce qu'il existe déjà.

22voto

Albin Points 7074

Pour autant que je sache, le "+" signifie que le numéro qui suit l'IP (le "xxxxx") fait référence à un "identifiant de processus" (et non à un port, qui utilise généralement la notation [adresse IP] : [numéro de port]).

Il est possible que cette "notation" (je ne suis pas sûr d'appeler cela une "notation" car je ne connais pas de documentation "officielle") renvoie à quelque chose d'autre si elle est utilisée par une application spécifique - mais là encore, c'est toujours possible, et pas seulement avec les liens symboliques. Dans les seuls cas que je connais (et que j'ai pu trouver en effectuant une recherche pas trop poussée), le "+XXXX" faisait toujours référence à l'ID du processus.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X