初次使用 awk 命令杀掉系统进程

初次使用 awk 命令杀掉系统进程

起因:
 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 {} 来完成,需要了解管道符号的作用了。

你可能感兴趣的:(初次使用 awk 命令杀掉系统进程)