防止同一个Java应用重复启动的shell脚本

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  通常,一个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" ]

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答