【Linux - lsof 找出誰在操作】

  • 當(dāng)你想修改某個文件,卻被提示文件正在被修改,類似如下提示,
Found a swap file by the name ".index.ts.swp"
  • 當(dāng)你想刪除某個日志文件,卻因為還有地方持續(xù)寫入,執(zhí)行rm 操作卻遲遲無法刪除,
  • 甚至某一天,當(dāng)你本地想用git提交代碼時,卻被告知有g(shù)it進程正在進行操作,從而存在鎖.git/index.lock,git暫時無法提交。

這時很煩躁,也許簡單粗暴的關(guān)閉命令行或者重啟機器往往能解決問題。但是難道你不好奇,到底是誰在操作?。渴悄膫€進程占用了啊。

lsof

要查看哪個進程正在操作一個特定的文件,你可以使用 lsof(List Open Files)命令。lsof 是一個用于列出當(dāng)前系統(tǒng)中打開的文件及其相關(guān)進程的命令行工具。

使用 lsof 可以查看哪個進程正在操作特定文件:

lsof /home/user/main/.index.ts.swp

這個命令將列出所有正在操作該文件的進程。如果文件被某個進程占用,將看到類似以下的輸出:

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
vim      1234 zhangsan   4uW  REG  8,1    0       123456 /home/user/main/.index.ts.swp

在這個示例中,vim 是正在操作該文件的進程,1234 是進程 ID(PID)。

至此,煩人的占用者找到了,接下來便可給其送上一記重拳 !

kill -9 1234
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容