Saturday, April 4, 2009

linux中根据端口号杀进程和启动应用两例

1.一进程确定占用某一tcp端口,如下命令可以杀掉该进程。

Java代码
  1. kill -9 $(netstat -tlnp|grep 1099|awk '{print $7}'|awk -F '/' '{print $1}')


其中1099为端口号。注意:
  • 得写出完整端口号,否则易错杀其他进程。
  • 7是进程信息所处的列号,不同Linux可能不同,需要调整。


2.两应用程序service1和service2,service2依赖service1,即得等service1启动后才能启动,若service1应用占用一确定的tcp端口,如下脚本可实现该操作:

Java代码
  1. echo "service1 start..."
  2. ./service1.sh

  3. netstat -tlnp|grep 2098
  4. until [ "$?" -eq "0" ]
  5. do
  6. echo "waiting service1 to startup..."
  7. sleep 1
  8. netstat -tlnp|grep 2098
  9. done
  10. echo "service1 started."
  11. ./service2.sh
  12. echo "service2 started."

No comments: