• Linux查看某个文件或目录是否正在使用


    前言:有时候我们想要删除文件或目录,但是不知道这个文件或目录是否正在被使用,被什么进程打开了,进程在做什么操作,在Linux系统下fuser命令是可以帮忙我们查看

    fuser功能

    fuser 可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息,显示使用指定文件或者文件系统的进程ID.默认情况下每个文件名后面跟一个字母表示访问类型。

    访问类型如下:

    c 代表当前目录  
    e 将此文件作为程序的可执行对象使用 
    f 打开的文件。默认不显示。  
    F 打开的文件,用于写操作。默认不显示。  
    r 根目录。  
    m 映射文件或者共享库。 
    s 将此文件作为共享库(或其他可装载对象)使用
    

    常用选项

    -a 显示所有命令行中指定的文件,默认情况下被访问的文件才会被显示。  
    -c 和-m一样,用于POSIX兼容。  
    -k 杀掉访问文件的进程。如果没有指定-signal就会发送SIGKILL信号。  
    -i 杀掉进程之前询问用户,如果没有-k这个选项会被忽略。  
    -l 列出所有已知的信号名称。  
    -m name 指定一个挂载文件系统上的文件或者被挂载的块设备(名称name)。这样所有访问这个文件或者文件系统的进程都会被列出来。如果指定的是一个目录会自动转换成"name/",并使用所有挂载在那个目录下面的文件系统。  
    -n space 指定一个不同的命名空间(space).这里支持不同的空间文件(文件名,此处默认)、tcp(本地tcp端口)、udp(本地udp端口)。对于端口, 可以指定端口号或者名称,如果不会引起歧义那么可以使用简单表示的形式,例如:name/space (即形如:80/tcp之类的表示)。  
    -s 静默模式,这时候-u,-v会被忽略。-a不能和-s一起使用。  
    -signal 使用指定的信号,而不是用SIGKILL来杀掉进程。可以通过名称或者号码来表示信号(例如-HUP,-1),这个选项要和-k一起使用,否则会被忽略。  
    -u 在每个PID后面添加进程拥有者的用户名称。  
    -v 详细模式。输出似ps命令的输出,包含PID,USER,COMMAND等许多域,如果是内核访问的那么PID为kernel.  -V 输出版本号。  
    -4 使用IPV4套接字,不能和-6一起应用,只在-n的tcp和udp的命名存在时不被忽略。  
    -6 使用IPV6套接字,不能和-4一起应用,只在-n的tcp和udp的命名存在时不被忽略。  
    

      

    使用例子

    查看使用某个文件的进程信息

    centos安装
    yum install psmisc
    
    1.查看3306端口正在被谁使用
    [root@test 09:41:47 ~]# fuser -v -n tcp 3306
                         USER        PID ACCESS COMMAND
    3306/tcp:            mysql      9619 F.... mysqld
    
    说明下:
    user就是mysql用户
    pid就是进程ID
    access就是访问的方式,F表示打开的文件,用于写操作
    command就是mysqld
    
    2.查看文件是否正在使用
    [root@test09:48:36 ~]# fuser -v test.sh 
                         USER        PID ACCESS COMMAND
    /root/test.sh:       root      10462 f.... bash
    

      

      

  • 相关阅读:
    Amoeba -- 阿里巴巴工程师的开源项目之一陈思儒
    js表达式与语句的区别
    互联网公司github项目汇总
    CDN解决方案
    免费评论组件多说
    ajax同步的实现
    两种时间格式化对比
    Google Gson 使用简介
    使用XStream解析MXL文件用到的jar包---xpp3_min-1.1.3.4.O.jar和xstream-1.3.1.jar
    《Netty in Action》中文版
  • 原文地址:https://www.cnblogs.com/lucktomato/p/16115469.html
Copyright © 2020-2023  润新知