私のLinuxファイルシステムでは、シンボリックリンクがを指し127.0.1.1:+xxxxx
ます。
プラス記号が必要な理由 マイナスもありますか?どうして127.0.1.1:xxxxx
?
私のLinuxファイルシステムでは、シンボリックリンクがを指し127.0.1.1:+xxxxx
ます。
プラス記号が必要な理由 マイナスもありますか?どうして127.0.1.1:xxxxx
?
回答:
ファイルを指し示していないシンボリックリンクには、一般的な意味はまったくありません。この場合、可能性があり、プロセスID、またはその上に話され、いくつかの特別なプロトコル、または他の識別子とポートです。それはすべて、どのプログラムがそれを作成したかに依存します。
これらのリンクを作成するソフトウェアは、1)シンボリックリンクのターゲットが存在しないか、まったくナンセンスでさえあるという事実を単に利用します。2)シンボリックリンクの作成は、少なくとも3つの個別のシステムコールを必要とする通常のファイルの作成とは異なり、単一のsyscallの完全にアトミックな操作です(ターゲットを読み取ります)。
したがって、他のメカニズムが信頼できない場合でも、シンボリックリンクの作成はロック(プログラムの単一インスタンスを保証する)の方法として悪用される可能性があります。プログラムは、実際のファイルに実際に解決するためにシンボリックリンクを必要としません。リンクの作成が成功するか、すでに存在するために失敗するかだけを考慮します。
fopen
、fwrite
とfclose
?
open
(またはcreat
古いソフトウェアの場合があります)、、write
およびclose
であり、stdioが提供するf *バージョンではありません。しかし、はい、あなたは、少なくとも実行する必要があるopen
とwrite
ファイルを作成し、そこに意味のある何かを置くために。これで、コードを「作成してみて、成功した場合、何らかの情報を入力し、そうでなければ、そこから情報を読み取ろう」とする場合、2番目のプロセスはread
、最初のプロセスがチャンスを得る前に試すことができwrite
ます。symlink
それを避けます。成功してリンクを作成するか、失敗して確実readlink
に情報を入手してください。
私の知る限り、「+」はIPの後ろの数字(「xxxxx」)が「プロセスID」を指すことを意味します(通常[IP-address]:[portnumber]という表記を使用するポートではありません)。
特定のアプリケーションで使用されている場合、この「表記法」(「公式」のドキュメントを知らないので「表記法」と呼ぶかどうかはわかりません)が他の何かを参照している可能性があります。シンボリックリンクだけでなく可能性。私が知っている唯一のケース(そしてあまり広すぎない検索で見つけることができる)は、「+ XXXX」は常にプロセスIDを参照していました。
/proc
またはのような特別なディレクトリにあるシンボリックリンクについて話しているようです/dev
。このシンボリックリンクの用途を説明できますか?