定时任务执行shell脚本中 grep -v grep 中的坑

需求

有一个后台进程会异常挂掉,没有时间去看错误记录,需要暴力重启该进程,每次都手动的执行觉得很麻烦,于是写了个简单的shell脚本来定时执行。

  1. 脚本
    第一次写的脚本定时任务执行shell脚本中 grep -v grep 中的坑_第1张图片
    解释:一开始上如上图这样,./test.sh 跑一下,是可以的。但是用定时器来跑失败。
    定时任务执行shell脚本中 grep -v grep 中的坑_第2张图片
    分析:
  2. ps 命令将某个进程显示出来 。-e 显示所有进程。-f 全格式。
  3. grep 查找字符
  4. grep -v grep 是过滤掉自己执行的grep ,
  5. awk是用来提取列的主要工具;
    zhangsan 25 男
    lisi 20 女
    上面的内容被空格分为三个部分,依次为zhangsan 25 男
    在awk中就分别对应$1 $2 $3
    print $1 就会输出zhangsanlisi
    print $2的话就会输出2520
    没有空格
    之所以第一个图定时任务跑失败,本人认为是grep -v grep执行失败。导致无论如何都会返回进程id。换了图二的这种暂时可以。做出以上总结。

你可能感兴趣的:(PHP)