shell 查看java进程是否存在_shell基础语法以及监控进程不存在重启

转码#dos2unix./test.sh权限#chmoda+x./test.sh语法变量v运维

转码

# dos2unix ./test.sh

权限

#

chmod a+x ./test.sh

语法

变量

var="111"

echo $var

echo ${var}

运算

no1=4;

no2=5;

let result=no1+no2

echo $result;

自增自减少

let no++

let no--

[]和let类似

result=$[ no1 + no2 ]

result=$[ $no1 + 5 ]

也可以使用(()),但使用(())时,变量名前需要加上$

result=$(( $no1 + 5 ))

expr也可以用于基本算术操作

result=`expr 3+4`

result=$(expr $no1 + 5)

以上不支持浮点

bc可以浮点

echo "4*0.56" |bc  输出2.24

文件描述符

0 1 2 标准输入 输出 标准错误

重定向到文本

echo "123" > temp.txt

追加

echo "123" >> temp.txt

查看文件内容

cat temp.txt

cat 1.txt  2.txt  多个内容

ls +

非法参数输出错误信息stderr

命令错误并退回 返回非0的退出状态

成功完成返回数字0

退出状态可以从特殊变量$?获得,在命令执行完后立刻运行echo $?就可以打印退出状态

ls + >out.txt   错误信息不能输出到文本

ls + 2>out.txt   错误信息能输出到文本

stderr和stdout各自

cmd 2>stderr.txt  1>stdout.txt

stderr转换为stdout

cmd 2>&1 out.txt

或者

cmd &> out.txt

stderr重定向到

/dev/null

读取日期

date

函数定义

function fname()

{

return 0;返回值

}

函数调用

$fname;

$fname arg1 arg2;传参数

一定要注意[]空格

#! /bin/sh

a=4;

b=5;

if [ "$a" = "$b" ]; then

echo "1111"

#####

#! /bin/sh

a=4;

b=5;

if [ "$a" -eq "$b" ]

then

echo "yyyyyyyyyy"

else

echo "nnnnn"

fi

#####

#! /bin/sh

ps aux|grep redis-stat | grep -v grep| wc -l

a=11

b=11

if [ $a -eq $b ]

then

echo "start process....."

else

echo "runing....."

fi

#####

注意

下面这个监控redis进程不存在就重启

#! /bin/sh

p="redis-server"

proc_num()

{

num=`ps aux|grep $p | grep -v grep| wc -l`

return $num

}

proc_num

n=$?

if (( "$n" < 1 ))

then

echo $n

echo "start redis-server process....."

else

echo $n

echo "redis-server runing ok."

fi

#####

crontab -e每分钟监控一次

*/1 * * * * /redis.sh

参考:《Linux Shell脚本攻略(第2版)》

本文由来源 21aspnet,由 system_mush 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值