Files
vim 未顯示在 fuser 中
首先使用 Vim 編輯一個文件,比如 /tmp/A。
假設vim程序是唯一訪問/tmp/A的程序,那麼使用“ctrl+z”掛起程序,執行
fuser /tmp/A
然後你在輸出中什麼也看不到。
但是,如果您使用“less”打開該文件,您可以在 fuser 輸出中看到 less 的 pid。
vim 有什麼特別之處會導致這種奇怪的情況發生嗎?
是的,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
只是讀取文件,在打開文件進行讀取時使用技巧沒有任何好處。