Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26278773
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: LINUX

2010-01-04 11:31:58

Linux环境查看进程占用情况及杀死进程

                                                                                 [整理:hkebao@126.com  整理时间:2010-1-4]

测试环境:

         Linux虚拟机

在编写TCP/IP应用程序的时候经常会遇到编写一个SOCKET服务器的时候端口被占用的情况。对于这种情况我们应当如何检查其端口占用情况呢?现在整理一下以供查询

 

1.        查看某个端口所占进程的进程ID

netstat -tlnp|grep 3306|awk '{print $7}' |awk -F '/' '{print $1}'  

 

netstat -tlnp|grep 3306  能够方便查看某个端口占用的应用程序的具体信息

 

2.        查杀

kill -9 $(netstat -tlnp|grep 4484|awk '{print $7}'|awk -F '/' '{print $1}')  直接将占用此端口的应用程序杀掉!

 

 

 

                           WIN平台查看端口使用情况与查杀

在windows命令行窗口下执行:
C:\>netstat -aon|findstr "80"
TCP     127.0.0.1:80         0.0.0.0:0               LISTENING       2448
看到了吗,端口被进程号为2448的进程占用,继续执行下面命令:
C:\>tasklist|findstr "2448"
thread.exe                     2016 Console                 0     16,064 K
很清楚吧,thread占用了你的端口,Kill it

 

 

查看:C:\>netstat -aon|findstr "80"

查看PID:tasklist|findstr "2448"

查杀:tskill PID


补充完善:

当我们用netstat -an的时候,我们有时候可以看到类似的输出:
 udp 0 0 0.0.0.0:32768 0.0.0.0:*
但是查找/etc/services又没有这个端口的相关说明,怎么办呢?这个是不是黑客程序?有没有办法查看究竟什么程序监听在这个端口?
使用lsof -i :32768就可以看到:
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
rpc.statd 603 root 4u IPv4 953 UDP *:32768
rpc.statd 603 root 6u IPv4 956 TCP *:32768 (LISTEN)
原来是rpc的程序。
使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。

结论是:lsof -i 命令来处理这样的需求

阅读(1221) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

hkebao2010-03-26 17:16:30

操作命令: kill -9 $(netstat -tlnp|grep 8055|awk '{print $7}'|awk -F '/' '{print $1}') && python manage.py runfcgi method=t hreaded host=127.0.0.1 port=8055