起因:
CruiseControl 与 JBoss 进程启动在固定的端口上,分别为 1099 和 8080 ,每次杀掉这两个进程的时候,就手动的执行 netstat -anp | grep 1099 和 netstat -anp | grep 8080 ,看到进程号,把他们杀掉,然后重启。
郁闷:
但这样实在是太麻烦了,每天调试程序,重启 n 遍,看得我眼睛都花了。想办法自动杀死。
解决部分:
想起了当初使用 awk 命令得到进程号,有了进程号,不就可以 kill -9 干掉他了!快乐,开始找 awk 命令用法,google 了一下,可以使用 netstat -anp | grep 1099 | gawk '{print substr($7,0,index($7,"/java")-1)}' 命令得到我想要的进程号,但说什么都不能对这个进程号运行 kill -9 ,再找!
解决问题:
google 了一下,可以使用
kill -9 `netstat -anp | grep 1099 | gawk '{print substr($7,0,index($7,"/java")-1)}'`
果然好用!
想起了使用过的 cd = `pwd` 原来 ` 号包围起来的命令可以执行,并放在相应位置上。
遗留问题:
解决问题时,还 google 到,可以使用 netstat -anp | grep 1099 | gawk '{print substr($7,0,index($7,"/java")-1)}' | xargs -t -i kill -9 {} 来完成,需要了解管道符号的作用了。
posted on 2007-01-16 10:18
哈哈的日子 阅读(423)
评论(0) 编辑 收藏