首页 > 代码库 > linux-制作shell脚本在任何路径下用自定义命令关闭tomcat-pid不唯一的问题
linux-制作shell脚本在任何路径下用自定义命令关闭tomcat-pid不唯一的问题
报错:
/usr/local/bin/stop.sh: line 3: [: 2151: unary operator expected
原因:
shell脚本名字叫stop_tomcat.sh,永远不会执行else
因为脚本本身包含tomcat,shell脚本能查到stop_tomcat这条进程
即第一个grep后的内容(tomcat)不唯一,会查到多个pid
#!/bin/bash #shell脚本中第一行必须写
pid=`ps -ef|grep tomcat|grep -v grep|awk ‘{print $2}‘`
if [ $pid ]
then
kill -9 $pid
echo ‘mysql is stopped...‘
else
echo "mysql is not running..."
fi
解决办法:
脚本做如下改动,路径是唯一的
#!/bin/bash shell脚本中第一行必须写
pid=`ps -ef|grep /usr/local/tomcat_fcx|grep -v grep|awk ‘{print $2}‘`
if [ $pid ]
then
kill -9 $pid
echo ‘mysql is stopped...‘
else
echo "mysql is not running..."
fi
linux-制作shell脚本在任何路径下用自定义命令关闭tomcat-pid不唯一的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。