• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
车车大人
博客园    首页    新随笔    联系   管理     

linux查询已打开的文件或已经执行进程打开的文件

1.fuser

#fuser [-ki] [-singal] file/dir
参数:
-k:找出使用文件/目录的PID,并试图将sigkill信号给PID
-i:必须与-k配合在删除PID之前会先要求用户确认
-sigal:如 -1  -15 等,若不添加的话,默认是sigkill(-9)
范例一:找出当前目录使用的PID
#fuser .
 
2.lsof 查出某个进程打开或使用的文件或设备
参数:
-a:需要多项数据“同时成立”才显示出结果的情况
-U:仅列出类UNIX系统的套接字文件类型
-u:后面接用户名,列出该用户相关进程所打开的文件
+d:后面接目录,即找出某个目录下已经打开的文件
 
范例一:列出当前系统上所有已经打开的文件和设备
#lsof
 
范例二:仅针对root列出所有进程打开的套接字文件
#lsof  -u root  -a -U
 
范例三:请列出当前系统上所有启动的外部设备
#lsof  +d /dev
 
范例四:显示root的bash进程所有打开的文件
#lsof -u root |grep bash
 
3.pidof
#pidof  [-sx] program_name
参数:
-s:仅列出一个pid而不列出所有的pid
-x:同时列出该程序名可能的ppid进程的pid
 
范例一:列出当前系统init的pid
#pidof init
 
范例二:找出bash即以ppid的几个主要的pid
#pidof -x bash
通往牛逼的路上,在意的只有远方!
posted @ 2018-06-10 14:12  车车大人  阅读(1914)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3