zoukankan      html  css  js  c++  java
  • lsof根据端口返回进程号杀死进程的方法

    参考自:http://newmiracle.cn/?p=661

    Linux shell根据端口返回进程号杀死进程的方法

    
    
    1. kill -9 `lsof -t -i:8888`

    这个就是杀死8888端口的进程号

    参考自:http://www.linuxfly.org/post/182.htm

    lsof命令常见参数说明

    原文地址:http://www.linuxfly.org/post/182.htm
     lsof全名list opened files,也就是列举系统中已经被打开的文件。我 们都知道,linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是文件。所以,用好lsof命令,对日常的linux管理 非常有帮助。以下的说明,大部分内容来自lsof的manual文档。我所做的只是在中文翻译的基础上,进行简单的分类说明,并列举最常用的参数。

    一、输出说明
       lsof是linux最常用的命令之一,通常的输出格式为:

    引用
    COMMAND     PID   USER   FD      TYPE     DEVICE     SIZE       NODE NAME

    常见包括如下几个字段:更多的可见manual。
    1、COMMAND
    默认以9个字符长度显示的命令名称。可使用+c参数指定显示的宽度,若+c后跟的参数为零,则显示命令的全名
    2、PID:进程的ID号
    3、PPID
    父进程的IP号,默认不显示,当使用-R参数可打开。
    4、PGID
    进程组的ID编号,默认也不会显示,当使用-g参数时可打开。
    5、USER
    命令的执行UID或系统中登陆的用户名称。默认显示为用户名,当使用-l参数时,可显示UID。
    6、FD
    是文件的File Descriptor number,或者如下的内容:
    (这里很难翻译对应的意思,保留英文)
    引用
    cwd  current working directory;
    Lnn  library references (AIX);
    jld  jail directory (FreeBSD);
    ltx  shared library text (code and data);
    Mxx  hex memory-mapped type number xx.
    m86  DOS Merge mapped file;
    mem  memory-mapped file;
    mmap memory-mapped device;
    pd   parent directory;
    rtd  root directory;
    tr   kernel trace file (OpenBSD);
    txt  program text (code and data);
    v86  VP/ix mapped file;

    文件的File Descriptor number显示模式有:
    引用
    r for read access;
    w for write access;
    u for read and write access;
    N for a Solaris NFS lock of unknown type;
    r for read lock on part of the file;
    R for a read lock on the entire file;
    w for a write lock on part of the file;
    W for a write lock on the entire file;
    u for a read and write lock of any length;
    U for a lock of unknown type;
    x for an SCO OpenServer Xenix lock on part  of the file;
    X  for an SCO OpenServer Xenix lock on the entire file;
    space if there is no lock.

    7、TYPE
    引用
    IPv4 IPv4的包;
    IPv6 使用IPv6格式的包,即使地址是IPv4的,也会显示为IPv6,而映射到IPv6的地址;
    DIR 目录
    LINK 链接文件

    详情请看manual中更多的注释。
    8、DEVICE
    使用character special、block special表示的设备号
    9、SIZE
    文件的大小,如果不能用大小表示的,会留空。使用-s参数控制。
    10、NODE
    本地文件的node码,或者协议,如TCP等
    11、NAME
    挂载点和文件的全路径(链接会被解析为实际路径),或者连接双方的地址和端口、状态等

    二、参数
    1、不带额外参数运行
    lsof path/filename

    显示已打开该目录或文件的所有进程信息
    lsof `which httpd`

    显示指定命令的信息
    2、参见参数
    -c w 显示以w开头命令的已打开文件的信息
    lsof -c sshd

    -p PID 显示指定PID已打开文件的信息
    lsof -p 4401

    +d dir 依照文件夹dir来搜寻,但不会打开子目录
    lsof +d /root

    +D dir 打开dir文件夹以及其子目录搜寻
    lsof +D /root/

    -d s 以FD列的信息进行匹配,可使用3-10,表示范围,3,10表示某些值
    lsof -d 3-10

    -u 显示某用户的已经打开的文件(或该用户执行程序已经打开的文件)
    lsof -u root
    lsof -u 0

    ◎可配合正规表达式使用
    表示不包括root用户的信息:
    lsof -u ^root

    -i 监听指定的协议、端口、主机等的网络信息,格式为:
    引用
    [46][proto][@host|addr][:svc_list|port_list]

    例如:
    lsof -i tcp@192.168.228.244
    lsof -i:22

    还可以使用一些参数控制显示结果:
    引用
    -l 禁止将userID转换为登陆名称,即显示UID
    -n 禁止将IP地址转换为hostname主机文件
    -P 不显示端口名称

    -g s 从PGID列进行匹配
    lsof -g 3-10


    3、其他参数
    +f 所有路径参数都必须是文件系统,否则不能执行
    -f 所有路径参数都将作为普通的文件,例如:"-f -- /"中的/,只会匹配单个/路径,而不会是根目录中的所有文件
    +f和-f后都应加上“--”表终结符:
    lsof -f -- /

    +L/-L 打开或关闭文件的连结数计算,当+L没有指定时,所有的连结数都会显示(默认);若+L后指定数字,则只要连结数小于该数字的信息会显示;连结数会显示在NLINK列。
    例如:+L1将显示没有unlinked的文件信息;+aL1,则显示指定文件系统所有unlinked的文件信息
    -L 默认参数,其后不能跟数字,将不显示连结数信息
    lsof +L1

    -t 仅打印进程,方便shell脚本调用
    lsof -t -c sshd

    -F 指定输出那个列,可通过lsof -F?查看
    -r 不断执行lsof命令,默认每15秒间隔执行一次
    +r 也是不断执行lsof命令,但直到没有接受到文件信息,则停止
  • 相关阅读:
    月薪3万+的大数据人都在疯学Flink,为什么?
    Flink应用场景
    Flink生态与未来
    flink学习笔记-split & select(拆分流)
    .NET MVC5简介(四)Filter和AuthorizeAttribute权限验证
    .NET MVC5简介(三)Result
    .NET MVC5简介(二)
    VUE基础实用技巧
    .NET MVC5简介(一)
    WebApi简介
  • 原文地址:https://www.cnblogs.com/yangcx666/p/8723801.html
Copyright © 2011-2022 走看看