如何kill一个监听指定端口的程序

icefireren 2005-03-30 10:49:30
我有A程序,通过传入参数可以监听不同端口,假设现在启动了A3次,分别监听1234,4321,2341三个端口,如何通过脚本kill掉监听4321的A程序?kill过程不需人参与,只通过脚本
...全文
237 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
icefireren 2005-04-01
  • 打赏
  • 举报
回复
icewolf_li(冰狼)能解释一下吗?
icefireren 2005-04-01
  • 打赏
  • 举报
回复
:)谢谢你的解释!
icewolf_li 2005-04-01
  • 打赏
  • 举报
回复
比如是你要杀的程序名字叫yourprocess
然后你是通过
yourprocess 4321
这个命令来启动这个程序监听。
那么你就把我那段脚本保存,比如命名为KillTheOne.sh
这样的话你在命令行输入
sh KillTheOne.sh "yourprocess 4321"
就可以杀掉所有相关的进程。
icewolf_li 2005-03-30
  • 打赏
  • 举报
回复
#!/bin/sh
# 根据命令行字符串匹配进程并kill.
# 运行此脚本,提供完整的命令行。比如"yourprocess 4321"
killpidList=`ps -A --format='%p%P%C%x%a' --width 2048 -w --sort pid|grep "$1"|grep -v grep|grep -v "$$" | awk '{ print $1}'`
for curpid in ${killpidList} ; do
echo "kill -9 ${curpid}"
kill -9 ${curpid}
done
icefireren 2005-03-30
  • 打赏
  • 举报
回复
谢谢 icewolf_li(冰狼) ,不过看不大懂,linux脚本水平差,我怎么在脚本里没看到“yourprocess 4321”之类的变量啊,没有他怎么判断查找到的进程名是我要杀的啊?水平差,见笑了
sharkhuang 2005-03-30
  • 打赏
  • 举报
回复

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧