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
阅读(2867) | 评论(0) | 转发(0) |