linux查看端口占用被哪个服务占用的命令

查看:20189|回复:26
solaris下没有可以根据端口号查到占用该端口进程的命令,这个问题困扰了我好久,今天终于得以解决了,现在就分享一下,嘿嘿。
首先确定你要查的端口41859
编写个小脚本 test.sh
//********************************************//
for i in *
echo ------ process $i ---------
pfiles $i | grep -i &port: 41859&
//********************************************//
-bash-3.00$ ./test.sh
然后看结果:
------ process 0 ---------
pfiles: permission denied: 0
------ process 1 ---------
pfiles: permission denied: 1
------ process 10322 ---------
pfiles: permission denied: 10322
------ process 1120 ---------
pfiles: permission denied: 1120
------ process 12248 ---------
------ process 126 ---------
pfiles: permission denied: 126
------ process 1297 ---------
pfiles: permission denied: 1297
------ process 139 ---------
pfiles: permission denied: 139
------ process 140 ---------
pfiles: permission denied: 140
------ process 14736 ---------
pfiles: permission denied: 14736
------ process 1531 ---------
pfiles: permission denied: 1531
------ process 1538 ---------
pfiles: permission denied: 1538
------ process 1540 ---------
------ process 15724 ---------
pfiles: permission denied: 15724
------ process 1585 ---------
------ process 168 ---------
pfiles: permission denied: 168
------ process 176 ---------
pfiles: permission denied: 176
------ process 178 ---------
pfiles: permission denied: 178
------ process 18149 ---------
pfiles: permission denied: 18149
------ process 18160 ---------
pfiles: permission denied: 18160
------ process 18162 ---------
------ process 190 ---------
pfiles: permission denied: 190
------ process 19225 ---------
pfiles: permission denied: 19225
------ process 19233 ---------
------ process 19235 ---------
------ process 2 ---------
pfiles: permission denied: 2
------ process 22077 ---------
------ process 224 ---------
pfiles: permission denied: 224
------ process 22476 ---------
pfiles: permission denied: 22476
------ process 22478 ---------
pfiles: permission denied: 22478
------ process 22479 ---------
pfiles: permission denied: 22479
------ process 22480 ---------
pfiles: permission denied: 22480
------ process 22481 ---------
pfiles: permission denied: 22481
------ process 22482 ---------
pfiles: permission denied: 22482
------ process 22509 ---------
pfiles: permission denied: 22509
------ process 22513 ---------
pfiles: permission denied: 22513
------ process 22515 ---------
pfiles: permission denied: 22515
------ process 236 ---------
pfiles: permission denied: 236
------ process 23848 ---------
pfiles: cannot examine 23848: no such process
------ process 23851 ---------
pfiles: cannot examine 23851: no such process
------ process 23852 ---------
------ process 24156 ---------
pfiles: no such process: 24156
------ process 24509 ---------
pfiles: permission denied: 24509
------ process 25941 ---------
pfiles: permission denied: 25941
------ process 25949 ---------
pfiles: permission denied: 25949
------ process 25951 ---------
------ process 26338 ---------
pfiles: permission denied: 26338
------ process 26472 ---------
pfiles: permission denied: 26472
------ process 26481 ---------
pfiles: permission denied: 26481
------ process 29119 ---------
------ process 3 ---------
pfiles: permission denied: 3
------ process 3457 ---------
pfiles: permission denied: 3457
------ process 3465 ---------
pfiles: permission denied: 3465
------ process 378 ---------
pfiles: permission denied: 378
------ process 429 ---------
pfiles: permission denied: 429
------ process 433 ---------
pfiles: permission denied: 433
------ process 440 ---------
pfiles: permission denied: 440
------ process 448 ---------
pfiles: permission denied: 448
------ process 450 ---------
pfiles: permission denied: 450
------ process 476 ---------
pfiles: permission denied: 476
------ process 478 ---------
pfiles: permission denied: 478
------ process 483 ---------
pfiles: permission denied: 483
------ process 505 ---------
pfiles: permission denied: 505
------ process 508 ---------
pfiles: permission denied: 508
------ process 510 ---------
pfiles: permission denied: 510
------ process 511 ---------
pfiles: permission denied: 511
------ process 512 ---------
pfiles: permission denied: 512
------ process 514 ---------
pfiles: permission denied: 514
------ process 5270 ---------
------ process 5271 ---------
------ process 5290 ---------
& && &&&sockname: AF_INET 10.64.89.9&&port: 41859
------ process 606 ---------
pfiles: permission denied: 606
------ process 607 ---------
pfiles: permission denied: 607
------ process 617 ---------
pfiles: permission denied: 617
------ process 640 ---------
pfiles: permission denied: 640
------ process 647 ---------
pfiles: permission denied: 647
------ process 650 ---------
pfiles: permission denied: 650
------ process 660 ---------
pfiles: permission denied: 660
------ process 6971 ---------
pfiles: permission denied: 6971
------ process 7 ---------
pfiles: permission denied: 7
------ process 713 ---------
pfiles: permission denied: 713
------ process 742 ---------
pfiles: permission denied: 742
------ process 751 ---------
pfiles: permission denied: 751
------ process 9 ---------
pfiles: permission denied: 9
在结果中找到
------ process 5290 ---------
& && &&&sockname: AF_INET 10.64.89.9&&port: 41859
5290就是占用41859的进程号了。
最后,再ps -ef|grep 5290,就差不多可以找到是哪个进程了。也可以ps -auxwww|grep 5290,看到更详细些。
*在执行查找脚本的时候,当前的用户要有足够的权限。像执行结果中有报“permission denied”,这都是没有权限。
所以如果午饭们想要查的,最好用大一点权限的用户,或者就基本可以确定是所在用户的进程,这样才能查得到。
最后再说一句,这个办法还不算很强大,但是对于solaris来说, 没有直接可以通过端口查到进程号的命令,只好这般这般如此了……
如果更容易,更合理的方法,也请指教!!!
本帖最后由 天天兄弟 于
13:40 编辑
初级工程师
噢~~收藏一个来研究一下。感谢分享!!:(pdd_11):
初级工程师
赞, 很实用 谢谢楼主分享!
初级工程师
不错、我也一直被这问题困扰着!谢谢!
人生、且行且悟且珍惜。。。
暂时看不懂但还是收藏一下
中级工程师
看不懂了啦:(pdd_22):
初级工程师
我也不懂:(mars_24):
高级工程师
看起来挺不错的&&研究下
好东西。谢谢了
真的很难,看不懂。
提示: 作者被禁止或删除 内容自动屏蔽
这都看不懂,快快钻研吧。:o
初学者,看不懂啊
:(mars_20): :(mars_20): :(mars_20): piaoguo ]]]
中级工程师
好东西好东西,谢谢了
看晕乎了~~
暂时看不懂但还是收藏一下:victory:
中级工程师
看不懂程序.....
三思方举步,百折不回头。
收藏了再说。。。。Linux查看端口使用状态、关闭端口方法
前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。
1. 可以通过"netstat -anp" 来查看哪些端口被打开。
(注:加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs-&2049,
ftp-&21,因此可以开启两个终端,一一对应一下程序所对应的端口号)
2. 然后可以通过"lsof
-i:$PORT"查看应用该端口的程序($PORT指对应的端口号)。或者你也可以查看文件/etc/services,从里面可以找出端口所对应的服务。
(注:有些端口通过netstat查不出来,更可靠的方法是"sudo nmap -sT -O localhost")
3. 若要关闭某个端口,则可以:
1)通过iptables工具将该端口禁掉,如:
"sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"
2)或者关掉对应的应用程序,则端口就自然关闭了,如:
"kill -9 PID" (PID:进程号)
如: 通过"netstat -anp | grep ssh"
有显示: tcp 0 127.0.0.1:.0.0:* LISTEN 7546/ssh
则: "kill -9 7546"
(可通过"chkconfig"查看系统服务的开启状态)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
经常使用CentOS的朋友,可能会遇到和我一样的问题。开启了防火墙导致80端口无法访问,刚开始学习centos的朋友可以参考下。
经常使用CentOS的朋友,可能会遇到和我一样的问题。最近在Linux CentOS防火墙下安装配置 ORACLE
数据库的时候,总显示因为网络端口而导致的EM安装失败,遂打算先关闭一下CentOS防火墙。偶然看到CentOS防火墙的配置操作说明,感觉不错。执
行”setup”命令启动文字模式配置实用程序,在”选择一种工具”中选择”防火墙配置”,然后选择”运行工具”按钮,出现CentOS防火墙配置界面,
将”安全级别”设为”禁用”,然后选择”确定”即可.
这样重启计算机后,CentOS防火墙默认已经开放了80和22端口
简介:CentOS是Linux家族的一个分支。
CentOS防火墙在虚拟机的CENTOS装好APACHE不能用,郁闷,解决方法如下
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
然后保存:
/etc/rc.d/init.d/iptables save
centos 5.3,5.4以上的版本需要用
service iptables save
来实现保存到配置文件。
这样重启计算机后,CentOS防火墙默认已经开放了80和22端口。
这里应该也可以不重启计算机:
/etc/init.d/iptables restart
CentOS防火墙的关闭,关闭其服务即可:
查看CentOS防火墙信息:/etc/init.d/iptables status
关闭CentOS防火墙服务:/etc/init.d/iptables stop
永久关闭?不知道怎么个永久法:
chkconfig &level 35 iptables off
上面的内容是针对老版本的centos,下面的内容是基于新版本。
iptables -P INPUT DROP
这样就拒绝所有访问 CentOS 5.3 本系统数据,除了 Chain RH-Firewall-1-INPUT (2
references) 的规则外 , 呵呵。
用命令配置了 iptables 一定还要 service iptables save 才能保存到配置文件。
cat /etc/sysconfig/iptables 可以查看 防火墙 iptables 配置文件内容
# Generated by iptables-save v1.3.5 on Sat Apr 14 07:51:07
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT []
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport
22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with
icmp-host-prohibited
# Completed on Sat Apr 14 07:51:07 2001
CentOS 防火墙配置 80端口
看了好几个页面内容都有错,下面是正确方法:
#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
然后保存:
#/etc/rc.d/init.d/iptables save
再查看是否已经有了:
[root@vcentos ~]# /etc/init.d/iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:80
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
3 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
* 设置iptables为自动启动
chkconfig --level 2345 iptables on
可能因为大家使用的版本不一,所有使用方法也略有不同。
如果需要远程管理mysql,则使用以下指令临时打开,用完后关闭
* 打开指令
iptables -A INPUT -p tcp -s xxx.xxx.xxx.xxx --dport 3306 -j
* 关闭指令
iptables -D INPUT -p tcp -s xxx.xxx.xxx.xxx --dport 3306 -j
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Linux查看服务器端口被哪个程序占用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Linux查看服务器端口被哪个程序占用
&&我们经常会遇到,网站打不开。参看服务器运行状态会发现apache、mysql的端口被其他应用程序占用,导致程序无法启动的情况。那么如何查看linux端口号被占用的是哪一个程序呢?
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢& 在服务器上查看端口被哪个程序占用
在服务器上查看端口被哪个程序占用
无论是在Linux还是Windows上都可能会遇到端口被占用的情况,从而导致nginx、mysql、apache等程序无法启动,下面说分别说一下Linux和Windows上如何查看端口被那个程序占用。
使用命令:lsof -i:被占用的端口号
[root@52listen ~]# lsof -i:88
DEVICE SIZE/OFF NODE NAME
23023 root
IPv6 1657391
TCP *:kerberos (LISTEN)
IPv6 1657391
TCP *:kerberos (LISTEN)
IPv6 1657391
TCP *:kerberos (LISTEN)
IPv6 1657391
TCP *:kerberos (LISTEN)
IPv6 1657391
TCP *:kerberos (LISTEN)
IPv6 1657391
TCP *:kerberos (LISTEN)
IPv6 1657391
TCP *:kerberos (LISTEN)
这样就列出了占用88端口的程序以及程序的PID。然后我们就可以使用kill 程序的pid来结束它。
如果提示没有安装lsof这个命令的话,直接执行yum install lsof 来安装即可。
Windows篇:
这里使用系统自带的netstat 命令来查找
C:\>netstat -aon |findstr 
0.0.0.0:80
0.0.0.0:49155
这样就列出了占用80端口的进程ID(最后一列,我这里的就是5956)。
然后通过tasklist 命令来查找具体的程序。
C:\>tasklist |findstr &#”
5956 Services
然后通过任务管理器将此进程结束掉即可解决。3284人阅读
欢迎扫码加入Java高知群交流
有时候关闭软件后,后台进程死掉,导致端口被占用。下面以TOMCAT端口8080被占用为例,列出详细解决过程。
解决方法:
1.查找被占用的端口
netstat&-tlnnetstat&-tln&|&grep&8080
&netstat -tln 查看端口使用情况,而netstat -tln | grep 8080则是只查看端口8080的使用情况
2.查看端口属于哪个程序?端口被哪个进程占用
lsof&-i:8060
&COMMAND&& PID&& USER&& FD&& TYPE&& DEVICE SIZE/OFF NODE NAME
&&& 20804 & root&& 36u& IPv6 &&&&& 0t0& TCP *:pcsync-https
3.杀掉占用端口的进程& 根据pid杀掉
kill&-9&进程id&&
kill -9 20804
欢迎扫码加入Java高知群交流
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3064708次
积分:17956
积分:17956
排名:第547名
原创:192篇
转载:35篇
译文:16篇
评论:321条
(3)(5)(1)(4)(4)(3)(2)(2)(4)(3)(1)(6)(2)(4)(1)(11)(4)(2)(1)(1)(2)(2)(1)(4)(2)(2)(6)(1)(1)(1)(1)(6)(1)(1)(3)(2)(1)(2)(1)(3)(10)(3)(4)(3)(6)(3)(1)(2)(1)(5)(1)(1)(1)(4)(2)(1)(9)(3)(9)(17)(6)(9)(11)(1)(1)(8)(3)(8)(3)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 linux端口占用命令 的文章

 

随机推荐