lsof 命令用法:查看已刪除空間卻沒有釋放的進程

一、概述

        lsof(list open files)是一個查看當前系統文件的工具。在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網絡連接和硬件。如傳輸控制協議 (TCP) 和用戶數據報協議 (UDP) 套接字等,系統在後臺都爲該應用程序分配了一個文件描述符,該文件描述符提供了大量關於這個應用程序本身的信息。

1.1 lsof打開的文件可以是:

  1. 普通文件
  2. 目錄
  3. 網絡文件系統的文件
  4. 字符或設備文件
  5. (函數)共享庫
  6. 管道,命名管道
  7. 符號鏈接
  8. 網絡文件(例如:NFS file、網絡socket,unix域名socket)
  9. 還有其它類型的文件,等等

1.2 lsof輸出各列信息的意義如下:

  • COMMAND:進程的名稱

  • PID:進程標識符

  • PPID:父進程標識符(需要指定-R參數)

  • USER:進程所有者

  • PGID:進程所屬組

  • FD:文件描述符,應用程序通過文件描述符識別該文件。如cwd、txt等:

二、看已經刪除的文件,空間有沒有釋放,沒有的話kill掉pid

lsof -n |grep deleted

 

三.刪除文件句柄

lsof | grep delete | awk 'print $2' | xargs kill

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章