zoukankan      html  css  js  c++  java
  • windows和Linux查看端口占用进程并关闭

    Windows:

    以端口8080为例:

    1.查找对应的端口占用的进程:netstat  -aon|findstr  "8080"    ,找到占用8080端口对应的程序的PID号:

    2.根据PID号找到对应的程序:tasklist|findstr "PID号"    ,找到对应的程序名

    3.结束该进程:taskkill /f /t /im 程序名

    Linux:

    今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。

    使用命令:

    ps aux | grep tomcat

    发现并没有8080端口的Tomcat进程。

    使用命令:netstat –apn

    查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 

    clip_image002

    发现8080端口被PID为9658的Java进程占用。

    进一步使用命令:ps aux | grep java,或者直接:ps aux | grep pid 查看

    clip_image004

    就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!

    方法二:直接使用 netstat   -anp   |   grep  portno
    即:netstat –apn | grep 8080

    参考自:http://blog.csdn.net/superit401/article/details/51501166

    参考自:https://www.cnblogs.com/benio/archive/2010/09/15/1826728.html

    补充:

    1. ps aux,ps -aux和ps -ef的区别:

    请注意"ps -aux"不同于"ps aux"。POSIX和UNIX的标准要求"ps -aux"打印用户名为"x"的用户的所有进程,以及打印所有将由-a选项选择的过程。如果用户名为"x"不存在,ps的将会解释为"ps aux",而且会打印一个警告。这种行为是为了帮助转换旧脚本和习惯。它是脆弱的,即将更改,因此不应依赖。综上: 使用时两者之间直接选择ps aux。

    ps aux和ps -ef,两者的输出结果差别不大,但展示风格不同。Unix系统中的两种风格,System V风格和BSD 风格。aux是BSD风格,-ef是System V风格。这是次要的区别,一个影响使用的区别是aux会截断command列,而-ef不会。当结合grep时这种区别会影响到结果。综上:以上三个命令推荐使用:ps –ef 。

    2.  在linux一般使用netstat 来查看系统端口使用情况:
    netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的
    netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
    该命令的一般格式为:
    netstat [选项]
    命令中各选项的含义如下:
    -a 显示所有socket,包括正在监听的。
    -c 每隔1秒就重新显示一遍,直到用户中断它。
    -i 显示所有网络接口的信息,格式同“ifconfig -e”。
    -n 以网络IP地址代替名称,显示出网络连接情形。
    -r 显示核心路由表,格式同“route -e”。
    -t 显示TCP协议的连接情况。
    -u 显示UDP协议的连接情况。
    -v 显示正在进行的工作。

    1. netstat -an | grep LISTEN
        0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定那个IP的服务。
    2. netstat -tln
        用来查看linux的端口使用情况
    3. /etc/init.d/vsftp start
        是用来启动ftp端口~!
    4. netstat
        查看已经连接的服务端口(ESTABLISHED)
    5. netstat -a
        查看所有的服务端口(LISTEN,ESTABLISHED)
    6. sudo netstat -ap
        查看所有的服务端口并显示对应的服务程序名
    7. nmap <扫描类型><扫描参数>
    例如:
        nmap localhost
        nmap -p 1024-65535 localhost
        nmap -PT 192.168.1.127-245
    当我们使用 netstat -apn 查看网络连接的时候,会发现很多类似下面的内容:
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 52 218.104.81.152:7710 211.100.39.250:29488 ESTABLISHED 6111/1

    显示这台服务器开放了7710端口,那么这个端口属于哪个程序呢?我们可以使用lsof -i :7710命令来查询:
    COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
    sshd 1990 root 3u IPv4 4836 TCP *:7710 (LISTEN) 54com.cn
    这样,我们就知道了7710端口是属于sshd程序的。

  • 相关阅读:
    css计数器
    使用area标签模仿a标签
    移动端判断触摸的方向
    简单圆形碰撞检测
    冒泡排序和二分查找算法
    基本数据类型float和double的区别
    HTML5-form表单
    代码块以及它们的执行顺序
    反射
    Excel表格的导入导出
  • 原文地址:https://www.cnblogs.com/DarrenChan/p/7833996.html
Copyright © 2011-2022 走看看