linux 杀端口(windows杀掉端口命令)
各位老铁们好,相信很多人对linux 杀端口都不是特别的了解,因此呢,今天就来为大家分享下关于linux 杀端口以及windows杀掉端口命令的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
linux下怎么根据端口号杀死进程
1 netstat-nlp查看占用端口号的服务
2找到该端口号的进程
3找到该进程id
4 kill它
程序可以一点一点来:
1查看占用端口号的服务
[root@aslibra root]# netstat-nlp
Active Internet connections(only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 23946/
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 12711/
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3936/httpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 3910/
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3753/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3786/
Active UNIX domain sockets(only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 827412 23946//tmp/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 733272 12711/./mysql.sock
(省掉了一些内容)
2可以用grep筛选一下,看看规律,找到有:3306的一行就好
用管道符给grep处理:
[root@aslibra root]# netstat-nlp| grep:3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 23946/
既然取出一行了,那就容易了,再筛选一下,用awk分割取出其中一个
3读取出端口号
[root@aslibra root]# netstat-nlp| grep:3306| awk'{print$7}'
23946/
意思是取第七个字段,这里默认应该是用tab字符分割的,已经读取出来了,但是还得拿到/前面的数字
4取/前面的数字就可以了,这里还是可以用awk处理
[root@aslibra root]# netstat-nlp| grep:3306| awk'{print$7}'| awk-F"/"'{ print$1}'
23946
意思是用/符号分割,取第一部分
5然后把这个数字传给kill就可以
kill命令不能跟在管道符后面继续处理了,会出错的
[root@aslibra root]# netstat-nlp| grep:3306| awk'{print$7}'| awk-F"/"'{ print$1}'| kill
kill: usage: kill [-s sigspec|-n signum|-sigspec] [pid| job]... or kill-l [sigspec]
需要用到"[']"操作符,它可以执行一个语句,这个可以如此执行:
kill [']netstat-nlp| grep:3306| awk'{print$7}'| awk-F"/"'{ print$1}'[']
Linux端口占用查看命令杀掉linux端口占用查看
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、网卡接口等可能会发生变化的参数,写死到代码中,可以定义一个配置文件,把经常变化的参数写入配置文件,在程序启动或者调用时,加载配置文件来读取参数。
以上希望能够帮助到你。
linux服务器杀死端口命令
在Linux服务器上,当Java应用部署在Tomcat容器中并需要频繁重启时,通常会使用"sh shutdown.sh"命令。然而,这个命令有时不足以彻底关闭Tomcat,这时就需要借助kill命令,通过进程号来实施操作。寻找进程号的命令是"ps-ef| grep tomcat",然后输入相应的PID执行"kill-9"。
尽管kill命令强大,但遇到特定问题时可能会变得棘手。比如,当Tomcat的一个端口(比如8080)被大量占用,且状态变为CLOSE_WAIT,看似停滞,实际上与真正的停机无异。对于这种情况,仅依赖进程号的查找和杀戮并不适用,技术型人员更倾向于寻找更为精准的方法。
因此,解决之道是针对指定端口执行杀戮操作。以下是两种可行的命令示例:
第一种是:"kill-9$(netstat-tlnp| grep:8080| awk'{print$7}'| awk-F'/''{print$1}')"
第二种是:"kill [netstat-nlp| grep:8080| awk'{print$7}'| awk-F"/"'{ print$1}']"
执行其中一个命令后,能迅速且彻底地解除对特定端口的占用,再重新启动Tomcat,问题就能迎刃而解了。