端口占用情况和Kill(Window & Linux)
Windows 使用
window
中的netstat
-
-a
显示所有连接和侦听端口。 -
-n
以数字形式显示地址和端口号。 -
-o
显示拥有的与每个连接关联的进程ID
。
查看所有端口占用情况
netstat -ano
查看被占用端口3306对应的PID
netstat -ano | findstr 3306
查看指定端口3306的PID进程
tasklist | findstr 3306
结束进程
强制(/F参数)杀死 pid 为 12345 的所有进程包括子进程(/T参数):
taskkill /T /F /PID 12345
Linux
使用
使用netstat
命令
-t (tcp)
仅显示tcp
相关选项
-u (ucp)
仅显示ucp
相关选项-n
拒绝显示别名,能显示数字的全转成数字
-l
仅列出有在Listen
(监听)的服务状态
-p
显示建立相关链接的程序名
看当前所有已经使用的端口情况
netstat -nultp
查看某个端口使用情况
netstat -anp |grep 3306
使用lsof
命令
-
默认 : 没有选项,
lsof
列出活跃进程的所有打开文件 -
组合 : 可以将选项组合到一起,如
-abc
,但要当心哪些选项需要参数 -
-a
: 结果进行“与”运算(而不是“或”) -
-l
: 在输出显示用户ID
而不是用户名 -
-h
: 获得帮助 -
-t
: 仅获取进程ID
-
-U
: 获取UNIX
套接口地址 -
-F
: 格式化输出结果,用于其它命令。可以通过多种方式格式化,如-F pcfn
(用于进程id
、命令名、文件描述符、文件名,并以空终止)
lsof -i:3306
常用
-
lsof abc.txt
显示开启文件abc.txt
的进程 -
lsof -i :22
知道22
端口现在运行什么程序 -
lsof -c abc
显示abc
进程现在打开的文件 -
lsof -g gid
显示归属gid
的进程情况 -
lsof +d /usr/local/
显示目录下被进程开启的文件 -
lsof +D /usr/local/
同上,但是会搜索目录下的目录,时间较长 -
lsof -d 4
显示使用fd
为4
的进程 -
lsof -i
用以显示符合条件的进程情况 -
lsof -p 12
看进程号为12
的进程打开了哪些文件 -
lsof +|-r [t]
控制lsof
不断重复执行,缺省是15s
刷新 -
lsof -r,lsof
会永远不断的执行,直到收到中断信号 -
lsof +r,lsof
会一直执行,直到没有档案被显示 -
lsof -s
列出打开文件的大小,如果没有大小,则留下空白 -
lsof -u username
以UID
,列出打开的文件
使用ps
命令
命令参数:
-
a
显示所有进程 -
-a
显示同一终端下的所有程序 -
-A
显示所有进程 -
c
显示进程的真实名称 -
-N
反向选择 -
-e
等于“-A
” -
e
显示环境变量 -
f
显示程序间的关系 -
-H
显示树状结构 -
r
显示当前终端的进程 -
T
显示当前终端的所有程序 -
u
指定用户的所有进程 -
-au
显示较详细的资讯 -
-aux
显示所有包含其他使用者的行程 -
-C<命令>
列出指定命令的状况 -
--lines<行数>
每页显示的行数 -
--width<字符数>
每页显示的字符数 -
--help
显示帮助信息 -
--version
显示版本显示
查找特定进程
ps -ef|grep ssh
输出:
chuchur@linux:~/share$ ps -ef|grep bash chuchur 9448 79650 0 06:05 pts/4 00:00:00 grep --color=auto bash chuchur 79650 79575 0 03:49 pts/4 00:00:00 bash
通过服务名字查找PID
查找 nginx
和 python
占用情况
ps aux | egrep '(nginx|python)'
输出:
root 951 0.0 0.3 425268 27680 ? Ssl 2020 9:48 /usr/libexec/platform-python -Es /usr/sbin/tuned -l -P root 212828 0.0 0.1 135300 13924 ? Ss 2020 0:00 nginx: master process /usr/sbin/nginx root 2488443 0.0 0.1 164676 14892 ? S Mar06 0:00 nginx: worker process
结束进程
kill
命令参数
-
-1 (HUP)
:重新加载进程。 -
-9 (KILL)
:杀死一个进程。 -
-15 (TERM)
:正常停止一个进程。 -
-KILL
强制杀死进程
kill -9 65300 #彻底干掉pid为65530的进程 kill -9 $(ps -ef | grep guest) #干掉guest 用户进程 #or kill -u guest
推荐学习:windows教程
以上就是浅析Wind和Linux中查看端口占用情况和Kill(附代码)的详细内容,更多请关注亿码酷站其它相关文章!
浅析Wind和Linux中查看端口占用情况和Kill(附代码)
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除
本文永久链接地址:https://www.ymkuzhan.com/40389.html