linux-制作shell脚本在任何路径下用自定义命令关闭tomcat-pid不唯一的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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不唯一的问题的主要内容,如果未能解决你的问题,请参考以下文章

备忘录AIX主机下用SHELL脚本编写FTP传某个目录下的文件到LINUX主机

在Linux系统下用dd命令制作ISO镜像U盘启动盘

Linux下用shell获取指定文件的最后修改时间并与系统时间比对,如果相差时间超过3分钟则执行另一个脚本

在Linux系统下用dd命令制作ISO镜像U盘启动盘

在Linux操作系统下用Shell编写一时钟提示程序,要求能显示出上午好、中午好、下午好!!急待高手解决

五步定位linux反弹shell