linux shell编程 根据端口获取进程pid 直接用命令netstat -anp grep 端口号 在shell中如何获取PID?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux shell编程 根据端口获取进程pid 直接用命令netstat -anp grep 端口号 在shell中如何获取PID?相关的知识,希望对你有一定的参考价值。
我想要的结果是 shell里
pid = GetPortByPid();
不知如何实现 求助各位大神
然后如下三种方式请参考。
netstat -nlp | grep -w 端口号 | sed -r \'s#.* (.*)/.*#\\1#\'
netstat -nlp | sed -nr \'/端口号/s#.* (.*)/.*#\\1#p\'
netstat -nlp | awk -F\'[ /]*\' \'/端口号/print $(NF-2)\' 参考技术A netstat -anp|grep 3306|awk 'printf $7'|cut -d/ -f1本回答被提问者采纳 参考技术B -anp 中的p 不就是PID了
shell脚本杀掉(kill)端口号对应的PID进程
我是用的mac 就是当你本机启动一个python 端口进程, 即使关掉,后台进程依然存在,在启动同端口的进程,或报错提示已被占用
当你lsof -i:端口号(linux--(ss -anpt | grep 22)-->(ss是nestat的简写)) 又会发现不知一个pid进程 kill 很麻烦,所以就写了一个shell脚本,根据你输入的端口号,循环kill掉:
#!/bin/bash read -p "输入 你要kill的端口号: " a for i in `lsof -i:$a | awk ‘{print $2}‘ | grep -v ‘PID‘`;do kill -9 $i;done
以上是关于linux shell编程 根据端口获取进程pid 直接用命令netstat -anp grep 端口号 在shell中如何获取PID?的主要内容,如果未能解决你的问题,请参考以下文章