判断 #yuchberry 是否在运行

用笨办法写了个脚本检查 #yuchberry 是否在运行 : if [ `ps -ef | grep svr.jar | grep java | awk '{print $8}'` = java ]

[ps8964]$ cat java.sh

if [ `ps -ef | grep svr.jar | grep java | awk '{print $8}'` = java ]

then

echo -e "yeah!\n yuchberry is running.below is PID"

ps -ef | grep svr.jar | grep java | awk '{print $2}'

else

echo -e "not running\n starting... wait..."

export LC_ALL="zh_CN.utf8" 

export LC_CTYPE="zh_CN.utf8" 

export LANG="zh_CN.utf8"

nohup java -jar svr.jar &

fi

复制上面if到fi的内容保存为java.sh就可以了,当然别忘了添加运行权限

chmod +x java.sh

然后用一个php网页来调用这个java.sh,有了这个判断,就不会重复运行多个java副本了

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>open yuchiberry</title>

</head><body>

yuchberry ins running now.</body></html>

<?php 

exec("./java.sh > /dev/null 2>&1 &");

?>

当访问这个网页时,就可以启动yuchiberry服务器了。

我没想过通过网页关闭yuchberry服务端,根据上面的代码也是可以的,反正pid都找着了,

加一个kill命令就行了,至于如何把

ps -ef | grep svr.jar | grep java | awk '{print $2}'

得到的数值传递给kill,我就不知道了,如果你知道,请留言指点我。

  • 佐拉的随手记录的东西@ffxk 当然要注意路径,最好是在同一个目录下。如果不在同一目录,就需要写绝对路径或相对路径,你可以用pwd来查看当前路径。
  • 佐拉的随手记录的东西@ffxk 如果用的端口不一样,应该不会产生冲突吧,判断三个YB帐户就不同了,你可以要把svr.jar改为三个不同的名字,这样才方便做判断。
  • ffxk服务器上有多个YB帐号,需要运行多个YB进程,你这个检测重复运行多个java副本会影响吗
  • ffxkPHP调用时候需要注意java.sh路径吗
下一篇 上一篇

佐拉的随手记录的东西

我是一个人,我期望去墙那边旅行。