vimがFuserに表示されない

vimがFuserに表示されない

まず、Vimを使用して/ tmp / Aなどのファイルを編集します。

vimプロセスが/ tmp / Aにアクセスする唯一のプロセスであると仮定し、「ctrl + z」を使用してプロセスを一時停止して実行します。

fuser /tmp/A

これにより、出力に何も表示されません。

しかし、「less」を含むファイルを開くと、Fusion出力でlessという名前のpidが表示されます。

この奇妙な動作を引き起こすvimに特別なものはありますか?

答え1

はい、vimはファイルを保存するまでファイルを開きません。代わりに、vimは一時的に隠されたスワップファイルを使用して徐々に変更を保存します。ファイル()を保存したら、元の:wファイルを作成します。

以下を使用して直接確認できますlsof

$ lsof -n -p `pidof vim`
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
[...]
vim     9695 gert    4u   REG  252,1    12288 410388 /tmp/.a.swp
[...]

これは一般的な行動です編集するlessファイルを読むだけでは、ファイルを開いて読み取るときにトリックを使用するという利点はありません。

関連情報