crontab 执行tail -f 文件引导起文件打开数过大

作者 lostvip 2024年11月27日 09:41 阅读 79

crontab 执行sh时,sh文件中如果加入tail -f app.log 会造成tail进程一直在后台运行 .

 

 

crontab 配置如下:

*/5 * * * *   /data/dpc/restart-inter-doris.sh

sh脚本如下:

#!/bin/bash

export JAVA_HOME=/usr/local/java/jdk1.8.0_202
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
base_path=/data/dpc/jar
cd $base_path
./restart-doris-inter.sh
echo "启动 doris-dpcInterface-core-0.1.jar 完成!"

以上脚本启用了 ./restart-doris-inter.sh

#!/bin/bash
source /etc/profile
base_path=/data/dpc/jar
jar_name=doris-dpcInterface-core-0.1.jar
#jar启动日志名称
cd $base_path
PID=$(ps -ef | grep $jar_name | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
	echo  $jar_name is already stopped
else
	echo kill $PID
	kill -9 $PID
        sleep 5s
	echo ' $jar_name 停止服务完成'
fi
echo '启动服务...'
java -jar -Xmx2g -Xms2g $base_path/$jar_name &> /dev/null &
echo 启动 $jar_name 完成...
# 就是这句引起的
tail -f doris-dpcInterface-core-0.1.log

tail -f doris-dpcInterface-core-0.1.log 进程会每5分钟被执行一次而且无法退出最终会导致服务器文件打开数量过大,进而引起其它服务异常!

发表评论