设为首页 加入收藏

TOP

防止同一个Java应用重复启动的shell脚本
2014-11-14 23:00:37 来源: 作者: 【 】 浏览:29
Tags:防止 同一个 Java 应用 重复 启动 shell 脚本

  通常,一个Java的后台应用程序,在Linux的终端可以启动多个,这样造成资源浪费,甚至相互操作竞争资源导致问题。这里通过也shell脚本启动应用,在shell脚本中做了些限制。就可以巧妙避免重复启动的问题了。


  比如应用的目录结构为:


  app


  bin(存放启动脚本startup.sh和class文件、配置文件等。)


  lib(存放引用的库)


  假设应用的类名为:mypack.MyAppMain


  startup.sh


  #!/bin/sh


  programdir="."


  program="mypack.MyAppMain"


  num=$#


  temp=$CLASSPATH


  #setting libs path


  libs=../lib/*


  append(){


  temp=$temp":"$1


  }


  for file in $libs; do


  append $file


  done


  export CLASSPATH=$temp:.:../:$programdir


  export LANG=zh_CN


  res=`ps aux|grep java|grep $program|grep -v grep|awk '{print $2}'`


  if [ -n "$res" ]


  then


  echo "MyAppMain already running"


  else


  nohup java -classpath $CLASSPATH mypack.MyAppMain &


  sleep 3


  unset res


  res=`ps aux|grep java|grep $program|grep -v grep|awk '{print $2}'`


  if [ -n "$res" ]


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java用于开发桌面应用的优劣分析 下一篇J2EE系统异常的处理准则

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: