2024-04-15 14:19:57
linux查看activemq占用端口?
可以使用telnet查看端口占用情况。
linux登录后台的方法以及使用的端口号和协议?
打开cmd
1.netstat-n
查看本机的使用的所有端口
①.proto表示协议有tcp和udp两种
②.LocalAddress表示本机的IP,后面跟的是我们使用的端口号
③.ForeignAddress连接到外面服务器的IP地址,以及服务器端口
④.State:表示一些具体的状态,如:LAST_ACK等待所用的分组死掉
2.确认所要查询的端口号
命令netstat-aon|findstr1044(指定的端口号)
查询的结果最后面的数字就是当前程序或者服务的pid
3.输入命令:tasklist|findstr2612(输入上面查询的pid)
这样就可以查看此端口所运行的程序了
然后再从任务管理器里面去查询,就可以看到程序
4.如果我们相用指定的端口号两个方案
①.在任务管理器中结束此端口所在运行的程序,结束之后就可以使用这个端口号了
②.接续在cmd界面输入命令:taskkill/f/pid2612(输入查询的pid),也可以杀死此程序
Linux
netstat-tln#查找所有被占用的端口
netstat-tln|grep80#查找指定被占用的端口
安装lsof
yuminstalllsof
通过lsof可以知道我们端口属于哪个程序
lsof-i:80#查询的端口
kill-9#杀死进程id多个进程ID使用空格隔开
linux有什么命令能够查看本机器的网络流量?
?nethogs:按进程查看流量占用?iptraf:按连接/端口查看流量?ifstat:按设备查看流量?ethtool:诊断工具?tcpdump:抓包工具希赛里有很多这方面资料的。
在AIX中,哪个命令可以看到哪些进程在用哪个端口?
AIX没有命令可以直接查看哪个进程在使用什么端口,不像Linux可以使用lsof或者netstat-p查看。目前可以使用下面的方法查看:
1、首先使用netstat列出哪些端口被使用,注意需要额外加一个参数-A
#netstat-Aan
f100050002d32bb8tcp600*.22*.*LISTEN
f100050002d313b8tcp400*.22*.*LISTEN上面的例子列出了端口22的情况
2、再使用命令rmsock查看,注意:这个命令是用来清除一个没有关联文件描述符的socket,如果socket被进程占用会提示该端口被哪个进程使用,利用这个提示信息获得进程信息。比如
#rmsockf100050002d313b8tcpcb
Thesocket0xf100050002d31008isbeingheldbyproccess5374084(sshd).显示22端口被进程sshd(进程号5374084)占用
如果你清楚自己的操作不会对系统造成影响,或者仅是测试用,可用下面的循环抓取:
netstat-anA|grep-wLISTEN|awk'{print$1,$5}'|whilereadpcbport
do
echo"$port--------------->"
rmsock$pcbtcpcb
done
linux编程如何避免使用到已经被占用的端口号?
本行业问题
Linux下服务一般是通过shell脚本来启动程序或者服务,在shell脚本启动时,可以使用命令来查询,本服务或程序端口是否被其他程序占用,可以使用netstat命令。
netstat
比如我们查询80端口是否被占用,命令如下:
#netstat-anp|grep80
从上面可以看出80端口已经被nginx监听。
netstat具体的参数如下,【-a】显示所有的socket连接,【-n】不使用域名,而使用ip显示,【-p】显示监听此socket的进程名称,【grep】是过滤包含80字符的匹配项。
简单函数封装
我们在写脚本时尽量将经常使用的脚本封装成函数,以便其他程序也可以调用这个函数,如下面的脚本,实现端口的查询函数【入参1=端口】:
我们用几个端口测试一下,可以看出上面我的端口被nginx占用
良好的编写代码习惯
在linux编程写程序时,尽量不要将监听的端口、IP、网卡接口等可能会发生变化的参数,写死到代码中,可以定义一个配置文件,把经常变化的参数写入配置文件,在程序启动或者调用时,加载配置文件来读取参数。
以上希望能够帮助到你。