起因:
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
哈哈的日子 閱讀(432)
評論(0) 編輯 收藏