博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下查看端口占用情况以及服务启动的目录
阅读量:6386 次
发布时间:2019-06-23

本文共 2661 字,大约阅读时间需要 8 分钟。

1.先介绍几个命令:

1. lsof -i:80

  查看80端口的占用情况

  命令返回结果:

    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

    nginx 46678 xiaoju 7u IPv4 3292095214 0t0 TCP *:http (LISTEN)

2. netstat -lpn | grep 80

  查看80端口服务端socket占用状况

  netstat命令介绍见http://man.linuxde.net/netstat,其中注意有-a的时候-l过滤是无效的,所以要加-l就去掉-a。

  命令返回结果:

    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      46678/nginx: worker

3. ll /proc/46778

  查看PID为46778的进程服务运行命令的目录和命令等信息

  命令介绍见:https://www.douban.com/note/409387658/

 

2. 常见case:

case1: 一台机器上启动了好多个shop服务,如下,想知道每个服务分别占用什么端口

[xiaoju@rico-public order]$ ps -ef |grep shopxiaoju   15061     1  3 Jun12 ?        07:49:08 ./bin/shop -config=./conf/service.conf.dev.liantiaoxiaoju   17279     1  3 17:54 ?        00:11:43 ./bin/shop -config=./conf/service.conf.devxiaoju   19776     1  4 Jun15 ?        06:56:42 /home/xiaoju/shop/output/bin/shop -config=/home/xiaoju/shop/output/conf/service.confxiaoju   37919     1  2 Jun15 ?        03:14:06 ./bin/shop -config=/home/xiaoju/shop_8407/output/conf/service.conf.dev.8407

解决办法: 

[xiaoju@rico-public order]$ netstat -npl | grep shop(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)tcp        0      0 0.0.0.0:8420            0.0.0.0:*               LISTEN      17279/./bin/shoptcp        0      0 0.0.0.0:8401            0.0.0.0:*               LISTEN      19776/shoptcp        0      0 0.0.0.0:8402            0.0.0.0:*               LISTEN      15061/./bin/shoptcp        0      0 0.0.0.0:8407            0.0.0.0:*               LISTEN      37919/./bin/shop

 这样就知道每个shop服务占用的是哪个端口(netstat最后一列是pid,pid与ps -ef出来的pid一一对应)

[xiaoju@rico-public order]$ ll /proc/17279lrwxrwxrwx  1 xiaoju xiaoju 0 Jun 21 22:56 cwd -> /home/xiaoju/shop/output           // 运行路径lrwxrwxrwx  1 xiaoju xiaoju 0 Jun 21 22:53 exe -> /home/xiaoju/shop/output/bin/shop  // 可执行文件 -r--r--r--  1 xiaoju xiaoju 0 Jun 21 23:19 cmdline                     // 运行的命令,这个很重要 -r--------  1 xiaoju xiaoju 0 Jun 21 23:18 environ                     // 运行时的环境变量

 这个命令返回很多信息,这里只列了命令运行的路径和可执行文件路径。

 

case2:我想启动一个服务,服务需要占用8420端口,不知道这个端口有没有被占用,如占用是被什么程序占用

解决办法:

[xiaoju@rico-public order]$ lsof -i:8420COMMAND   PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAMEshop    17279 xiaoju   10u  IPv4 3919976561      0t0  TCP *:8420 (LISTEN)

 如果这条命令没有返回任何结果那么表明端口没被占用,如果返回信息,那么我们就可以看到PID

[xiaoju@rico-public order]$ ll /proc/17279lrwxrwxrwx  1 xiaoju xiaoju 0 Jun 21 22:56 cwd -> /home/xiaoju/shop/outputlrwxrwxrwx  1 xiaoju xiaoju 0 Jun 21 22:53 exe -> /home/xiaoju/shop/output/bin/shop -r--r--r--  1 xiaoju xiaoju 0 Jun 21 23:19 cmdline

 然后根据PID查到是被什么程序占用。

 

转载于:https://www.cnblogs.com/gauze/p/9211341.html

你可能感兴趣的文章
软件工程需求分析
查看>>
react-native-scrollable-tab-view 实现 TabBar
查看>>
LeetCode – Refresh – Construct Binary Tree from Inorder and Preorder Traversal
查看>>
World view of our outlook on Cheap mbt shoes
查看>>
Linux虚拟机搭建本地yum源
查看>>
生成随机数的工具
查看>>
Objective-C --- block (梳理整理)
查看>>
Ajax中post方法400和404的问题
查看>>
简单数论总结2——同余方程与扩展欧几里得算法
查看>>
题解——CodeForces 438D The Child and Sequence
查看>>
javascript 原型链
查看>>
ListView长按事件返回值为true和false的选择
查看>>
HDU Problem 1513 Palindrome 【LCS】
查看>>
针对异常的微信支付开发 坚守两大原则(分享)
查看>>
ExtJs4发送同步请求的store
查看>>
恶意邮件假冒系统安全公告发送病毒,通过个人签名数字证书排除不明邮件干扰...
查看>>
linux内核编译
查看>>
实时股票数据接口 ZT
查看>>
Workout Wednesday Redux (2017 Week 3)
查看>>
Quick guide for converting from JAGS or BUGS to NIMBLE
查看>>