当前位置 博文首页 > 文章内容

    layman的博客:Ubuntu查看端口和进程号

    作者:shunshunshun18 栏目:未分类 时间:2021-10-27 20:25:15

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    常见的端口号列表:https://www.cnblogs.com/httpssl/p/11003935.html

    ps命令详解

    ps : 将某个进程显示出来
    -A  显示所有程序。
    -e  此参数的效果和指定"A"参数相同。
    -f   显示UID,PPIP,C与STIME栏位。

    查找特定应用程序所占用的进程

    ps -ef|grep [应用程序名称]
    

    grep命令是查找,中间的|是管道命令 是指 ps命令与grep命令 同时执行。

    在这里插入图片描述

    查看应用程序的进程

    我查找的是 java程序占用的进程,命令如下:

    ps -ef|grep java
    

    可以看到,能够查找到两个进程。
    在这里插入图片描述

    请注意,带--color=auto是grep命令自带的进程。

    如果你再次运行ps -ef|grep java,会发现它的的进程号是会变动的,而java程序占用的进程号不会改变。

    这对于新手来说,很不方便,因为有时候使用kill 命令会提示 进程不存在。

    此时,可以通过命令,屏蔽grep本身占用的进程,命令如下:

    ps -ef|grep java|grep -v grep
    

    查找到进程号,可以通过 kill 命令,将其杀死,命令如下:

    kill -9 [进程号]
    

    通过进程查看端口

    以 java 为例,它的进程号是 22830

    netstat -apn | grep 22830
    

    如果列表太多,可以通过 less命令 只显示一屏幕

    netstat -apn | grep 22830|less
    

    或者只显示 10 行信息

    netstat -anp |grep 22830 -m 10
    

    通过端口查看进程

    有时候我们会遇到Linux系统端口被占用的问题,比如:
    在这里插入图片描述
    此时,我们可以通过被占用的端口号,查找究竟是哪个进程占用了该端口。

    lsof——list open files,它是Linux系统查看打开的文件以及相关进程信息的工具。

    该命令需要访问核心内存和各种文件,所以需要root用户执行。

    lsof -i:端口号
    

    以查找端口号10000为例子:lsof -i:10000
    在这里插入图片描述
    参数详解:

    COMMAND:与文件关联进程的名称
    PID:进程号
    USER:归属的用户
    FD:进程与文件的关联关系
    TYPE:文件类型
    DEVICE:文件所在设备的设备号(major,minor)
    SIZE/OFF:文件大小或进程对文件操作的偏移量
    NODE:文件索引标识
    NAME:文件名

    FD列的值,指示了进程与文件的关联关系,有以下常见取值:

    cwd:进程工作目录
    txt:进程由该文件拉起(如二进制文件或脚本)
    rtd:进程的根目录
    mem:内存映射文件
    N(u/w/r):该文件为进程打开的第N个文件描述符,u为可读可写模式,w为可写模式,r为可读模式

    TYPE列有以下常见取值:

    REG:一般文件
    DIR:目录
    CHR:字符设备
    BLK:块设备
    FIFO:命名管道
    PIPE:管道
    IPV4:ipv4套接字
    unix:unix域套接字

    根据以上字段,我们可以了解到哪个文件,以何种关联方式与哪个进程关联。

    但执行lsof命令,有时候输出太多,为了获取必要输出,我们就得加一些过滤选项。

    该命令博大精深。

    这里不做其他探讨,只用作查看端口运行情况。


    拓展文档:

    https://blog.csdn.net/qq_27870421/article/details/92803453

    https://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316599.html

    cs