转码

# 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/sha=4;
b=5;if [ "$a" = "$b" ]; then
echo "1111"
#####
#! /bin/sha=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/shp="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版)》

Shell中字符串、数值的比较

linux 进程监控和自动重启的简单实现

shell语法以及监控进程不存在重启相关推荐

  1. shell基础语法以及监控进程不存在重启

    转码 # dos2unix ./test.sh 权限 # chmod a+x ./test.sh 语法 变量 var="111" echo $var echo ${var} 运算 ...

  2. linux shell脚本监控进程崩溃自动重启

    linux shell脚本监控进程崩溃自动重启,由于目前有Python实现的通讯组件时不时会异常中断,在还没有找到问题的解决办法时先暂时用shell监控并自动重启处理. # ! /bin/shbase ...

  3. linux 系统运行状况 shell命令 watch 监控进程是否存在

       1.  Linux的实时监测命令(watch):     watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动运行.该命令最为常用的两个选项是-d和-n,其 ...

  4. shell脚本实时监控进程连接数

    公司生产服务器通过配置文件来控制进程连接数量,当没有进程或进程连接数与配置文件中配置不一致,则导致应用出现故障,影响业务正常运行.现采用脚本方式来对进程进行检测. 配置文件如下: #max argum ...

  5. bat脚本实现监控进程功能-自动重启

    参考这篇博文https://www.cnblogs.com/sunfie/p/7071424.html 不过它里面有一些空格问题,和for循环集中运行命令失败问题,并不能用. bat注意事项 set ...

  6. 用shell脚本监控进程是否存在 不存在则启动的实例

    用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货: #!/bin/sh ps -fe|grep processString |grep -v grep if [ $? -ne 0 ] ...

  7. linux进程监控自动重启,Linux监控进程,进程关闭自动重启方案

    Linux监控进程,进程关闭自动重启方案 corntab+shell脚本检测进程 这个方案简单不用额外安装软件. 缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的 #!/bi ...

  8. linux杀掉进程后总是重启,Linux监控进程,进程关闭自动重启方案

    Linux监控进程,进程关闭自动重启方案 corntab+shell脚本检测进程 这个方案简单不用额外安装软件. 缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的 #!/bi ...

  9. linux 监控进程重启,linux进程监控与自动重启的简单实现方法

    linux进程监控与自动重启的简单实现方法 目的: linux 下服务器程序会因为各种原因dump掉,就会影响用户使用,这里提供一个简单的进程监控和重启功能. 实现原理: 由定时任务crontab调用 ...

最新文章

  1. 控制台浏览器代码实战
  2. 51单片机 简易光电循迹小车
  3. change all day checkbox in Fiori ui
  4. Windows Live Writer 配置报407 Proxy Authentication Required错误
  5. angular之DI理解
  6. g++ vscode 环境选择_VSCode C++环境配置(个人使用)
  7. zabbix常见配置集合
  8. Oracle Temp表空间切换
  9. Java开发笔记(一百三十)Swing的选择框
  10. 魔兽局域网协议UDP部分详细解释
  11. 重磅!Spring Cloud 生态再添新套件:Spring Cloud Tencent
  12. 格雷码与二进制转换电路设计
  13. SQL技巧——行转列/列转行
  14. 余世伟视频笔记----如何塑造管理者的性格魅力领袖根性之积极和大度
  15. 单机游戏数据库探讨(MySQL嵌入式服务器的使用)(未完)
  16. 180天如何突击高考-从400到550?
  17. linux 串口ttyS, ttyACM 还是ttyUSB?
  18. 《用户至上:用户研究方法与实践(原书第2版)》一2.4 理解用户
  19. 经验分享-iMX8MQ设计底板硬件指南-第一章
  20. 软件项目需求调研过程

热门文章

  1. mysql onlibe all_MySQL Online DDL
  2. 【部署类】专题:消息队列MQ、进程守护Supervisor
  3. POJ - 2763 Housewife Wind LCA+dfs序+线段树
  4. POJ - 3160 Father Christmas flymouse DAG最长路
  5. 三、python中最基础的文件处理汇总
  6. ROS与PCL中点云数据之间的转换
  7. 【H5唤起微信“扫一扫”】舒工自定义微信H5唤起扫码Vue组件sg-scan.vue(扫码按钮大概是在底部),注意只是代码片段,不含微信鉴权业务流程
  8. windows cmd 查看占用端口号PID并且结束进程
  9. 使用Go语言遇到的“坑”收集
  10. 在Ubuntu 14.04 64bit上安装Markdown编辑器Remarkble