In a symlink pointing to '127.0.1.1:+xxxxx', what is the plus character for?

Clash Royale CLAN TAG#URR8PPP
up vote
48
down vote
favorite
On my Linux filesystem, a symlink points to 127.0.1.1:+xxxxx.
Why the plus sign? Could there also be a minus? Why not just 127.0.1.1:xxxxx?
linux networking filesystems symbolic-link ip-address
New contributor
myMethod is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |Â
up vote
48
down vote
favorite
On my Linux filesystem, a symlink points to 127.0.1.1:+xxxxx.
Why the plus sign? Could there also be a minus? Why not just 127.0.1.1:xxxxx?
linux networking filesystems symbolic-link ip-address
New contributor
myMethod is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Is this symbolic link under /proc?
â Joshua
Oct 3 at 22:15
4
@Joshua: More likely under ~/.mozilla/ or similar. Firefox/Thunderbird, and iirc Steam, use such symlinks for locking.
â grawity
Oct 4 at 4:05
2
Is xxxxx a number, or the characters xxxxx?
â Mawg
2 days ago
2
Probably unrelated but just for information. In some IRC clients the plus-sign before the port was there to indicate the remote server uses SSL/TLS.
â eKKiM
2 days ago
add a comment |Â
up vote
48
down vote
favorite
up vote
48
down vote
favorite
On my Linux filesystem, a symlink points to 127.0.1.1:+xxxxx.
Why the plus sign? Could there also be a minus? Why not just 127.0.1.1:xxxxx?
linux networking filesystems symbolic-link ip-address
New contributor
myMethod is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
On my Linux filesystem, a symlink points to 127.0.1.1:+xxxxx.
Why the plus sign? Could there also be a minus? Why not just 127.0.1.1:xxxxx?
linux networking filesystems symbolic-link ip-address
linux networking filesystems symbolic-link ip-address
New contributor
myMethod is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
myMethod is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
edited Oct 4 at 4:20
Scott
15k113788
15k113788
New contributor
myMethod is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked Oct 3 at 19:01
myMethod
34924
34924
New contributor
myMethod is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
myMethod is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
myMethod is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Is this symbolic link under /proc?
â Joshua
Oct 3 at 22:15
4
@Joshua: More likely under ~/.mozilla/ or similar. Firefox/Thunderbird, and iirc Steam, use such symlinks for locking.
â grawity
Oct 4 at 4:05
2
Is xxxxx a number, or the characters xxxxx?
â Mawg
2 days ago
2
Probably unrelated but just for information. In some IRC clients the plus-sign before the port was there to indicate the remote server uses SSL/TLS.
â eKKiM
2 days ago
add a comment |Â
Is this symbolic link under /proc?
â Joshua
Oct 3 at 22:15
4
@Joshua: More likely under ~/.mozilla/ or similar. Firefox/Thunderbird, and iirc Steam, use such symlinks for locking.
â grawity
Oct 4 at 4:05
2
Is xxxxx a number, or the characters xxxxx?
â Mawg
2 days ago
2
Probably unrelated but just for information. In some IRC clients the plus-sign before the port was there to indicate the remote server uses SSL/TLS.
â eKKiM
2 days ago
Is this symbolic link under /proc?
â Joshua
Oct 3 at 22:15
Is this symbolic link under /proc?
â Joshua
Oct 3 at 22:15
4
4
@Joshua: More likely under ~/.mozilla/ or similar. Firefox/Thunderbird, and iirc Steam, use such symlinks for locking.
â grawity
Oct 4 at 4:05
@Joshua: More likely under ~/.mozilla/ or similar. Firefox/Thunderbird, and iirc Steam, use such symlinks for locking.
â grawity
Oct 4 at 4:05
2
2
Is xxxxx a number, or the characters xxxxx?
â Mawg
2 days ago
Is xxxxx a number, or the characters xxxxx?
â Mawg
2 days ago
2
2
Probably unrelated but just for information. In some IRC clients the plus-sign before the port was there to indicate the remote server uses SSL/TLS.
â eKKiM
2 days ago
Probably unrelated but just for information. In some IRC clients the plus-sign before the port was there to indicate the remote server uses SSL/TLS.
â eKKiM
2 days ago
add a comment |Â
2 Answers
2
active
oldest
votes
up vote
89
down vote
accepted
Symbolic links which don't point to a file have no generic meaning at all. In this case it might be the process ID, or a port with some special protocol spoken over it, or another identifier. It all depends on what program made it.
Software which creates these links simply takes advantage of the facts that 1) a symlink's target may be non-existent or even total nonsense; 2) creating a symlink is a single-syscall completely atomic operation (as is reading its target), unlike creating a regular file which takes at least 3 separate system calls.
Thus symlink creation can be abused as a way of locking (ensuring single instance of a program) even when other mechanisms may be unreliable. The program doesn't need the symlink to actually resolve to a real file: it only cares about whether creating the link succeeds, or whether it fails due to it already existing.
5
"* unlike creating a regular file which takes at least 3 separate system calls.*" -- Could you clarify? Do you meanfopen,fwrite, andfclose?
â Nic Hartley
Oct 4 at 19:21
9
@NicHartley: The system calls areopen(or maybecreatin old software),write, andclose, not the f* versions that stdio provides. But, yes, you need to do at leastopenandwriteto create the file and put something meaningful into it. Now if you want some code to "try to create it, if successful, put some information into it, else, read some information from it", the second process could just try itsreadbefore the first process has a chance towrite.symlinkavoids that; either succeed and create the link, or fail and be surereadlinkhas the information for you.
â Guntram Blohm
Oct 4 at 19:50
add a comment |Â
up vote
21
down vote
As far as I know the "+" means that the number after the IP (the "xxxxx") refers to a "process ID" (not a port which usually uses the notation [IP-address]:[portnumber]).
It is possible that this "notation" (not sure I would call it a "notation" since I don't know of any "official" documentation) refers to something else if used by a specific application - but then again, that's always the possibility not only with symlinks. The only cases I know of (and could find with a search that wasn't too extensive) the "+XXXX" always refered to the process ID.
I just checked it. In my case it really does.
â myMethod
Oct 3 at 19:27
1
Is there documentation of this format somewhere that you could link to?
â David Z
Oct 3 at 20:31
1
Not sure, I just remember it from hands on experience.
â Albin
Oct 3 at 20:55
2
It sounds like you're talking about a symlink in a special directory, like/procor/dev. Can you explain what this symlink is used for?
â Barmar
Oct 4 at 1:48
4
This is the first time I've seen this notation at all, so I'm surprised to hear you say that it's a general notation. Where have you seen it used to mean a process ID?
â Barmar
Oct 4 at 15:24
 |Â
show 4 more comments
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
89
down vote
accepted
Symbolic links which don't point to a file have no generic meaning at all. In this case it might be the process ID, or a port with some special protocol spoken over it, or another identifier. It all depends on what program made it.
Software which creates these links simply takes advantage of the facts that 1) a symlink's target may be non-existent or even total nonsense; 2) creating a symlink is a single-syscall completely atomic operation (as is reading its target), unlike creating a regular file which takes at least 3 separate system calls.
Thus symlink creation can be abused as a way of locking (ensuring single instance of a program) even when other mechanisms may be unreliable. The program doesn't need the symlink to actually resolve to a real file: it only cares about whether creating the link succeeds, or whether it fails due to it already existing.
5
"* unlike creating a regular file which takes at least 3 separate system calls.*" -- Could you clarify? Do you meanfopen,fwrite, andfclose?
â Nic Hartley
Oct 4 at 19:21
9
@NicHartley: The system calls areopen(or maybecreatin old software),write, andclose, not the f* versions that stdio provides. But, yes, you need to do at leastopenandwriteto create the file and put something meaningful into it. Now if you want some code to "try to create it, if successful, put some information into it, else, read some information from it", the second process could just try itsreadbefore the first process has a chance towrite.symlinkavoids that; either succeed and create the link, or fail and be surereadlinkhas the information for you.
â Guntram Blohm
Oct 4 at 19:50
add a comment |Â
up vote
89
down vote
accepted
Symbolic links which don't point to a file have no generic meaning at all. In this case it might be the process ID, or a port with some special protocol spoken over it, or another identifier. It all depends on what program made it.
Software which creates these links simply takes advantage of the facts that 1) a symlink's target may be non-existent or even total nonsense; 2) creating a symlink is a single-syscall completely atomic operation (as is reading its target), unlike creating a regular file which takes at least 3 separate system calls.
Thus symlink creation can be abused as a way of locking (ensuring single instance of a program) even when other mechanisms may be unreliable. The program doesn't need the symlink to actually resolve to a real file: it only cares about whether creating the link succeeds, or whether it fails due to it already existing.
5
"* unlike creating a regular file which takes at least 3 separate system calls.*" -- Could you clarify? Do you meanfopen,fwrite, andfclose?
â Nic Hartley
Oct 4 at 19:21
9
@NicHartley: The system calls areopen(or maybecreatin old software),write, andclose, not the f* versions that stdio provides. But, yes, you need to do at leastopenandwriteto create the file and put something meaningful into it. Now if you want some code to "try to create it, if successful, put some information into it, else, read some information from it", the second process could just try itsreadbefore the first process has a chance towrite.symlinkavoids that; either succeed and create the link, or fail and be surereadlinkhas the information for you.
â Guntram Blohm
Oct 4 at 19:50
add a comment |Â
up vote
89
down vote
accepted
up vote
89
down vote
accepted
Symbolic links which don't point to a file have no generic meaning at all. In this case it might be the process ID, or a port with some special protocol spoken over it, or another identifier. It all depends on what program made it.
Software which creates these links simply takes advantage of the facts that 1) a symlink's target may be non-existent or even total nonsense; 2) creating a symlink is a single-syscall completely atomic operation (as is reading its target), unlike creating a regular file which takes at least 3 separate system calls.
Thus symlink creation can be abused as a way of locking (ensuring single instance of a program) even when other mechanisms may be unreliable. The program doesn't need the symlink to actually resolve to a real file: it only cares about whether creating the link succeeds, or whether it fails due to it already existing.
Symbolic links which don't point to a file have no generic meaning at all. In this case it might be the process ID, or a port with some special protocol spoken over it, or another identifier. It all depends on what program made it.
Software which creates these links simply takes advantage of the facts that 1) a symlink's target may be non-existent or even total nonsense; 2) creating a symlink is a single-syscall completely atomic operation (as is reading its target), unlike creating a regular file which takes at least 3 separate system calls.
Thus symlink creation can be abused as a way of locking (ensuring single instance of a program) even when other mechanisms may be unreliable. The program doesn't need the symlink to actually resolve to a real file: it only cares about whether creating the link succeeds, or whether it fails due to it already existing.
answered Oct 3 at 19:19
grawity
220k33451515
220k33451515
5
"* unlike creating a regular file which takes at least 3 separate system calls.*" -- Could you clarify? Do you meanfopen,fwrite, andfclose?
â Nic Hartley
Oct 4 at 19:21
9
@NicHartley: The system calls areopen(or maybecreatin old software),write, andclose, not the f* versions that stdio provides. But, yes, you need to do at leastopenandwriteto create the file and put something meaningful into it. Now if you want some code to "try to create it, if successful, put some information into it, else, read some information from it", the second process could just try itsreadbefore the first process has a chance towrite.symlinkavoids that; either succeed and create the link, or fail and be surereadlinkhas the information for you.
â Guntram Blohm
Oct 4 at 19:50
add a comment |Â
5
"* unlike creating a regular file which takes at least 3 separate system calls.*" -- Could you clarify? Do you meanfopen,fwrite, andfclose?
â Nic Hartley
Oct 4 at 19:21
9
@NicHartley: The system calls areopen(or maybecreatin old software),write, andclose, not the f* versions that stdio provides. But, yes, you need to do at leastopenandwriteto create the file and put something meaningful into it. Now if you want some code to "try to create it, if successful, put some information into it, else, read some information from it", the second process could just try itsreadbefore the first process has a chance towrite.symlinkavoids that; either succeed and create the link, or fail and be surereadlinkhas the information for you.
â Guntram Blohm
Oct 4 at 19:50
5
5
"* unlike creating a regular file which takes at least 3 separate system calls.*" -- Could you clarify? Do you mean
fopen, fwrite, and fclose?â Nic Hartley
Oct 4 at 19:21
"* unlike creating a regular file which takes at least 3 separate system calls.*" -- Could you clarify? Do you mean
fopen, fwrite, and fclose?â Nic Hartley
Oct 4 at 19:21
9
9
@NicHartley: The system calls are
open (or maybe creat in old software), write, and close, not the f* versions that stdio provides. But, yes, you need to do at least open and write to create the file and put something meaningful into it. Now if you want some code to "try to create it, if successful, put some information into it, else, read some information from it", the second process could just try its read before the first process has a chance to write. symlink avoids that; either succeed and create the link, or fail and be sure readlink has the information for you.â Guntram Blohm
Oct 4 at 19:50
@NicHartley: The system calls are
open (or maybe creat in old software), write, and close, not the f* versions that stdio provides. But, yes, you need to do at least open and write to create the file and put something meaningful into it. Now if you want some code to "try to create it, if successful, put some information into it, else, read some information from it", the second process could just try its read before the first process has a chance to write. symlink avoids that; either succeed and create the link, or fail and be sure readlink has the information for you.â Guntram Blohm
Oct 4 at 19:50
add a comment |Â
up vote
21
down vote
As far as I know the "+" means that the number after the IP (the "xxxxx") refers to a "process ID" (not a port which usually uses the notation [IP-address]:[portnumber]).
It is possible that this "notation" (not sure I would call it a "notation" since I don't know of any "official" documentation) refers to something else if used by a specific application - but then again, that's always the possibility not only with symlinks. The only cases I know of (and could find with a search that wasn't too extensive) the "+XXXX" always refered to the process ID.
I just checked it. In my case it really does.
â myMethod
Oct 3 at 19:27
1
Is there documentation of this format somewhere that you could link to?
â David Z
Oct 3 at 20:31
1
Not sure, I just remember it from hands on experience.
â Albin
Oct 3 at 20:55
2
It sounds like you're talking about a symlink in a special directory, like/procor/dev. Can you explain what this symlink is used for?
â Barmar
Oct 4 at 1:48
4
This is the first time I've seen this notation at all, so I'm surprised to hear you say that it's a general notation. Where have you seen it used to mean a process ID?
â Barmar
Oct 4 at 15:24
 |Â
show 4 more comments
up vote
21
down vote
As far as I know the "+" means that the number after the IP (the "xxxxx") refers to a "process ID" (not a port which usually uses the notation [IP-address]:[portnumber]).
It is possible that this "notation" (not sure I would call it a "notation" since I don't know of any "official" documentation) refers to something else if used by a specific application - but then again, that's always the possibility not only with symlinks. The only cases I know of (and could find with a search that wasn't too extensive) the "+XXXX" always refered to the process ID.
I just checked it. In my case it really does.
â myMethod
Oct 3 at 19:27
1
Is there documentation of this format somewhere that you could link to?
â David Z
Oct 3 at 20:31
1
Not sure, I just remember it from hands on experience.
â Albin
Oct 3 at 20:55
2
It sounds like you're talking about a symlink in a special directory, like/procor/dev. Can you explain what this symlink is used for?
â Barmar
Oct 4 at 1:48
4
This is the first time I've seen this notation at all, so I'm surprised to hear you say that it's a general notation. Where have you seen it used to mean a process ID?
â Barmar
Oct 4 at 15:24
 |Â
show 4 more comments
up vote
21
down vote
up vote
21
down vote
As far as I know the "+" means that the number after the IP (the "xxxxx") refers to a "process ID" (not a port which usually uses the notation [IP-address]:[portnumber]).
It is possible that this "notation" (not sure I would call it a "notation" since I don't know of any "official" documentation) refers to something else if used by a specific application - but then again, that's always the possibility not only with symlinks. The only cases I know of (and could find with a search that wasn't too extensive) the "+XXXX" always refered to the process ID.
As far as I know the "+" means that the number after the IP (the "xxxxx") refers to a "process ID" (not a port which usually uses the notation [IP-address]:[portnumber]).
It is possible that this "notation" (not sure I would call it a "notation" since I don't know of any "official" documentation) refers to something else if used by a specific application - but then again, that's always the possibility not only with symlinks. The only cases I know of (and could find with a search that wasn't too extensive) the "+XXXX" always refered to the process ID.
edited 2 days ago
answered Oct 3 at 19:12
Albin
1,473623
1,473623
I just checked it. In my case it really does.
â myMethod
Oct 3 at 19:27
1
Is there documentation of this format somewhere that you could link to?
â David Z
Oct 3 at 20:31
1
Not sure, I just remember it from hands on experience.
â Albin
Oct 3 at 20:55
2
It sounds like you're talking about a symlink in a special directory, like/procor/dev. Can you explain what this symlink is used for?
â Barmar
Oct 4 at 1:48
4
This is the first time I've seen this notation at all, so I'm surprised to hear you say that it's a general notation. Where have you seen it used to mean a process ID?
â Barmar
Oct 4 at 15:24
 |Â
show 4 more comments
I just checked it. In my case it really does.
â myMethod
Oct 3 at 19:27
1
Is there documentation of this format somewhere that you could link to?
â David Z
Oct 3 at 20:31
1
Not sure, I just remember it from hands on experience.
â Albin
Oct 3 at 20:55
2
It sounds like you're talking about a symlink in a special directory, like/procor/dev. Can you explain what this symlink is used for?
â Barmar
Oct 4 at 1:48
4
This is the first time I've seen this notation at all, so I'm surprised to hear you say that it's a general notation. Where have you seen it used to mean a process ID?
â Barmar
Oct 4 at 15:24
I just checked it. In my case it really does.
â myMethod
Oct 3 at 19:27
I just checked it. In my case it really does.
â myMethod
Oct 3 at 19:27
1
1
Is there documentation of this format somewhere that you could link to?
â David Z
Oct 3 at 20:31
Is there documentation of this format somewhere that you could link to?
â David Z
Oct 3 at 20:31
1
1
Not sure, I just remember it from hands on experience.
â Albin
Oct 3 at 20:55
Not sure, I just remember it from hands on experience.
â Albin
Oct 3 at 20:55
2
2
It sounds like you're talking about a symlink in a special directory, like
/proc or /dev. Can you explain what this symlink is used for?â Barmar
Oct 4 at 1:48
It sounds like you're talking about a symlink in a special directory, like
/proc or /dev. Can you explain what this symlink is used for?â Barmar
Oct 4 at 1:48
4
4
This is the first time I've seen this notation at all, so I'm surprised to hear you say that it's a general notation. Where have you seen it used to mean a process ID?
â Barmar
Oct 4 at 15:24
This is the first time I've seen this notation at all, so I'm surprised to hear you say that it's a general notation. Where have you seen it used to mean a process ID?
â Barmar
Oct 4 at 15:24
 |Â
show 4 more comments
myMethod is a new contributor. Be nice, and check out our Code of Conduct.
myMethod is a new contributor. Be nice, and check out our Code of Conduct.
myMethod is a new contributor. Be nice, and check out our Code of Conduct.
myMethod is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1363677%2fin-a-symlink-pointing-to-127-0-1-1xxxxx-what-is-the-plus-character-for%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Is this symbolic link under /proc?
â Joshua
Oct 3 at 22:15
4
@Joshua: More likely under ~/.mozilla/ or similar. Firefox/Thunderbird, and iirc Steam, use such symlinks for locking.
â grawity
Oct 4 at 4:05
2
Is xxxxx a number, or the characters xxxxx?
â Mawg
2 days ago
2
Probably unrelated but just for information. In some IRC clients the plus-sign before the port was there to indicate the remote server uses SSL/TLS.
â eKKiM
2 days ago