Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1450089
  • 博文数量: 263
  • 博客积分: 10851
  • 博客等级: 上将
  • 技术积分: 2627
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-26 22:40
文章分类

全部博文(263)

文章存档

2013年(4)

2012年(25)

2011年(33)

2010年(50)

2009年(138)

2008年(13)

分类: LINUX

2012-03-15 19:05:14

fuser的作用是列出使用某文件/文件系统的进程ID

一. fuser的六种访问状态:
    c      current directory.                                               (表示有进程的当前路径是fuser指定的目录or文件系统)
    e      executable being run.                                            (表示fuser指定的文件是一个正在执行的可执行文件)
    f      open file. f is omitted in default display mode.                 
    F      open file for writing. F is omitted in default display mode.
    r      root directory.                                                  (表示有进程的跟路径是fuser指定的目录or文件系统)
    m      mmap'ed file or shared library                                   (表示有进程使用了fuser指定的文件是mmap文件或者指定的共享库)  mmap简单来说就是降文件映射到内存, 修改了内存就是修改了文件。
    
    可以参考一下这里:(fuser的几种状态的深入分析)
    
二. 常见用法
    1. fuser /mnt/cdrom
        #  查看正在使用/mnt/cdrom的进程, 当你在eject的时候, 经常碰到“/mnt/cdrom: device is busy”, 这个时候用fuser就可以看到哪个进程正在使用该设备了
    
    2. fuser -k /mnt/cdrom
        #  杀死正在访问指定文件的进程。 除非使用-signal修改信号, 否则发送SIGKILL信号
    
    3. -m/-c 后面跟的路径都转换成该路径所在的文件系统, 比如  fuser -c /usr/local  就列出正在使用/usr/local所在文件系统的所有进程
    
    4. -n 名字, 选择不同的名字空间, 可以是file(默认), udp, tcp。  比如列出正在使用tcp 22端口的进程: fuser -n tcp 22
阅读(2774) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~