读书人

cognos windows 向linux转移(二) T

发布时间: 2013-03-10 09:38:39 作者: rapoo

cognos windows 向linux转移(2) TR1102 TR3602
08.jmsThread=`ps -ef | grep gdms | grep jboss | grep -v "grep"`?
#grep -v "grep"? 是去掉结果中带有grep的这一行
09.echo $jmsThread?
10.?


11.#查询jboss进程个数:wc -l 返回行数?
12.count=`ps -ef | grep gdms | grep jboss | grep -v "grep" | wc -l`?
13.echo $count?
14.?
15.sec=60??
#设置60秒?
16.#开始一个循环,以判断进程是否关闭?
17.?
18.for var in 1 2?
19.do?
20.? if [ $count -gt 0 ]; then?
21.??? #若进程还未关闭,则脚本sleep几秒?
22.??? echo sleep $sec second the $var time, the JMS thread is still alive?
23.??? sleep $sec?
24.? else?
25.??? #若进程已经关闭,则跳出循环?
26.??? echo "break"?
27.??? break?
28.? fi?
29.done?
30.?

-------------------------
请用shell写个脚本,当apache的进程数大于10的时候发邮件给运维部
#!/bin/bash
count=`ps -ef | grep [a]pache | wc -l`
if [ $count -gt 10 ]; then
mail -s 标题 mail@address.net <<!!
内容
.
!!
fi
###################
说明一下,count计算的时候,grep后面改成你真正的apache的进程名,[a]pache首字母加了个方括号是为了防止把grep本身的进程数也算进去。mail后面的标题,地址和内容改成你自己需要的内容。在内容的后面那个.不要漏掉。count=后面的引号是键盘上数字1左边那个重音符号,而不是单双引号那个引号。这个脚本有个前提,你本机的sendmail服务是可用的,否则这个脚本是发不出邮件的。至于sendmail服务,那就是另外的话题了。需要配置的话请google一下。

?

?


-------------------------
#详细列出(字符且项数不多)
for File in 1 2 3 4 5
do
??? echo $File
done


#对存在的文件进行循环
for shname in `ls *.sh`
do
????????? name=`echo "$shname" | awk -F. '{print $1}'`??????????
????????? echo $name
done

#((语法循环--有点像C语法,但记得双括号
for((i=1;i<100;i++))
do
??? if((i%3==0))
??? then
??????? echo $i
??????? continue
??? fi
done

#从配置文件读取,并可以控制进程数量
MAX_RUN_NUM=8
cat cfg/res_card_partition.cfg |grep -v '^$'|grep -v "#" | grep -v grep |while read partition
do???????
??????????????? nohup sh inv_res_card_process.sh $partition >log/resCard$partition.log 2>&1 &??????????????
??????????????? while [ 1 -eq 1 ]
??????????????? do
??????????????????????????????? psNum=`ps -ef | grep "inv_res_card_process" | grep -v "grep" | wc -l`
??????????????????????????????? if [ $psNum -ge $MAX_RUN_NUM ]
??????????????????????????????? then
????????????????????????????????????????????? sleep 5
??????????????????????????????? else
????????????????????????????????????????????? break
???????????????????????????????? fi???????????????????????????????????????
??????????????? done???????????????
done


# 三.循环控制语句
# break 命令不执行当前循环体内break下面的语句从当前循环退出.
# continue 命令是程序在本循体内忽略下面的语句,从循环头开始执行
在shell中常用的是 for i in $(seq 10)

for i in *.txt

?

读书人网 >操作系统

热点推荐