今天同事让给其脚本做一个自动重启,linux下crond肯定,但结果做了几次都没成功。
id=`ps -ef|grep tomcat|grep -v grep|awk {'print $2'}`
if test -n "$id"
then
echo "kill process success"
kill -9 `ps -ef|grep tomcat|grep -v grep|awk {'print $2'}`
else
echo "no process kill"
fi
sleep 1
mv /data/tomcat6/logs/catalina.out /data/tomcat6/logs/backup.out
sleep 3
sh /data/tomcat6/bin/startup.sh
该脚本是tomcat的自动重启脚本,sh该脚本,能杀死,但不能启动。./该脚本可以,一直不理解。
后来查了下./和sh的区别,说是脚本前加#!/bin/sh,加上后还是照旧。
又查了下脚本放的路径,没有在tomcat下,应该都没问题。
后来实在没办法,重新写了脚本,sh执行居然成功了,发现居然是原来的脚本后缀是.h,改成.sh就可以了,奇怪了。