내 Linux 파일 시스템에서 symlink는을 가리 킵니다 127.0.1.1:+xxxxx
.
왜 더하기 부호? 마이너스도있을 수 있습니까? 왜 안돼 127.0.1.1:xxxxx
?
내 Linux 파일 시스템에서 symlink는을 가리 킵니다 127.0.1.1:+xxxxx
.
왜 더하기 부호? 마이너스도있을 수 있습니까? 왜 안돼 127.0.1.1:xxxxx
?
답변:
파일을 가리 키지 않는 심볼릭 링크는 일반적인 의미가 없습니다. 이 경우에는 수도 프로세스 ID, 또는 그 위에 말한 어떤 특별한 프로토콜, 또는 다른 식별자를 가진 포트합니다. 그것은 모든 프로그램에 따라 다릅니다.
이러한 링크를 생성하는 소프트웨어는 단순히 1) 심볼릭 링크의 대상이 존재하지 않거나 심지어 완전히 말도 안된다는 사실을 이용합니다. 2) 심볼릭 링크를 만드는 것은 최소 3 개의 개별 시스템 호출을 수행하는 일반 파일을 만드는 것과 달리 단일 시스템 호출 완전 원 자성 작업 (대상을 읽는 것처럼)입니다.
따라서 다른 메커니즘을 신뢰할 수없는 경우에도 잠금 (프로그램의 단일 인스턴스 보장) 방법으로 심볼릭 링크를 남용 할 수 있습니다. 이 프로그램은 실제 파일로 실제로 해석하기 위해 심볼릭 링크가 필요하지 않습니다. 링크 생성 의 성공 여부 또는 이미 존재하는 링크로 인해 실패하는지 여부에만 관심이 있습니다.
fopen
, fwrite
그리고 fclose
?
open
(또는 creat
이전 소프트웨어 일 수 있음) write
및 close
입니다. 하지만, 그래, 당신은 적어도해야 open
하고 write
파일을 만들고 그것으로 의미있는 무언가를 넣어. 이제 일부 코드에서 "성공을 시도하고 성공하면 정보를 입력하거나 정보를 읽어보십시오"를 원할 경우 두 read
번째 프로세스는 첫 번째 프로세스에서 기회를 갖기 전에 시도해 볼 수 write
있습니다. symlink
그것을 피하십시오; 성공하고 링크를 만들거나 실패하고 readlink
정보 가 있는지 확인하십시오 .
내가 아는 한 "+"는 IP 뒤의 숫자 ( "xxxxx")가 "프로세스 ID"(일반적으로 [IP- 주소] : [portnumber] 표기법을 사용하는 포트가 아님)를 나타냅니다.
이 "표기법"( "공식적인"문서를 모르기 때문에 "표기법"이라고 부를지 확실하지 않음)은 특정 응용 프로그램에서 사용하는 경우 다른 것을 지칭 할 수 있습니다. 그러나 다시, 항상 심볼릭 링크뿐만 아니라 가능성. 내가 아는 유일한 사례 (너무 광범위하지 않은 검색에서 찾을 수 있음)는 "+ XXXX"가 항상 프로세스 ID를 참조했습니다.
/proc
또는 같은 특수 디렉토리에서 심볼릭 링크에 대해 이야기하는 것처럼 들립니다 /dev
. 이 심볼릭 링크가 무엇을 사용하는지 설명 할 수 있습니까?