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简单来说就是降文件映射到内存, 修改了内存就是修改了文件。
    
    可以参考一下这里:http://www.360doc.com/content/11/0712/20/3508740_133169056.shtml(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