之前的文章《一文讲解macos常用终端命令(附代码)》中,给大家了解了一文讲解macos常用终端命令。下面本篇文章给大家了解wind和linux中查看端口占用情况和kill,我们一起看看怎么做。
端口占用情况和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(附代码)的详细内容,更多请关注代码网其它相关文章!
发表评论