jar 简易自检程序

  • 脚本
 1#!/bin/sh
 2
 3#line='cat ./pid/faceKuangshi-pid' 
 4echo '自检程序开始'
 5
 6temp_pid=0;
 7for line in `cat ./check_pid.txt`
 8do
 9  pid_array[$temp_pid]=$(awk '{print}' $line)
10  let temp_pid++
11done
12echo '进程id:'
13echo ${pid_array[*]}
14
15temp_sh=0;
16for line_sh in `cat ./check_start.txt`
17do
18  #cat $line_sh 
19  sh_array[$temp_sh]=$line_sh
20  let temp_sh++
21done
22echo '进程命令:'
23echo ${sh_array[*]}
24
25pid_length=${#pid_array[@]}
26sh_length=${#sh_array[@]}
27
28if [ $pid_length == $sh_length ];then
29	echo "自检查程序开始"
30	for ((i=0;i<$pid_length;i++))
31	do
32	echo ${pid_array[$i]} #为方便检查,加了打印
33	ps -p ${pid_array[$i]}
34		if [ $? -eq 0 ]; then
35		echo "app 存在"
36		else
37		echo "app 不存在"
38		${sh_array[$i]}
39		fi		
40	done			
41else
42	echo '左右边的两个程序 不一样。'
43fi
44
45
46
47
48#ps -p 22
49#if [ $? -eq 0 ]; then
50#echo "app process exist"
51#else
52#echo "process exit"
53#fi
54
55
56#while ((n<=$(cat ip.txt|wc -l)))
57#do
58#    ipaddr[$n]=$(cat ip.txt|sed -n “${n}p”|awk ‘{print $2}’)
59#   ((n+=1))
60#done
61#n=`expr $n – 1`
62
63
  • check_pid 文件
1/home/test/app1/pid/app1-pid
2/home/test/app2/pid/app2-pid
3/home/cjpt/app3/pid/app3-pid
  • check_start 文件
    /home/test/app1/start_app1.sh
    /home/test/app2/start_app2.sh
    /home/test/app3/start_app3.sh