自己写的有用的shell脚本

一、进程监听自启动shell脚本

#!/bin/sh
while [ 1 ]
do
ps -fe|grep chargepost |grep -v grep
if [ $? -ne 0 ]
then
echo chargepost `date '+%Y%m%d %H:%S:%M'`
echo "start process....."
cd $PRJHOME/bin;./chargepost
else
echo "runing....."
fi
sleep 30
done

shell脚本说明:

$?特殊符号表示上一个命令退出的状态或者函数返回值,其余的特殊命令如下:

 

二、判断文件改写时间与系统时间差脚本  也可用于程序自启动

filepath=/home/sznari/D/OnlineMonitor/log/onmon.log
if [ -f $filepath ];
then
echo "文件存在!"
else
echo "文件不存在或者您输入的路径有误"
fi

while [ 1 ]
do
sleep 10s #睡眠1min
timestamp=`date +%s` #获取当前系统时间
filetimestamp=`stat -c %Y $filepath`
time_cha=$((timestamp-$filetimestamp))

if [ $time_cha -gt 86400 ];
then
echo "时间差为:$time_cha 秒,当前时间大于文件最后修改时间一天"
pkill isaclient
echo "pkill isaclient success!"
else
echo "时间差为:$time_cha 秒,当前时间小于文件最后修改时间一天"
fi

done

二、Shell脚本实现多线程

通过{}&后面添加&的方式可以实现多线程,否则脚本执行启动了一个进程后,该脚本的所有权就被这个进程获取,不能继续执行

#!/bin/sh
sleep 15
while [ 1 ]
	do
	{
	ps -fe|grep rtdb |grep -v grep
	if [ $? -ne 0 ]                        
		then
		echo rtdb `date '+%Y%m%d %H:%S:%M'`
		echo "start rtdb process....."
		cd /home/PRS7000/bin;./rtdb
	else
		echo "rtdb is runing....."
	fi
	} &                                

	{
	ps -fe|grep data_bus |grep -v grep
	if [ $? -ne 0 ]                        
		then
		echo data_bus `date '+%Y%m%d %H:%S:%M'`
		echo "start data_bus process....."
		cd /home/PRS7000/bin;./data_bus
	else
		echo "data_bus is runing....."
	fi
	} &
	sleep 60
done

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值