zoukankan      html  css  js  c++  java
  • 用shell脚本守护后台进程

    假如现在在 crond 中添加了一个每分钟执行的定时任务如下:

    */1 * * * * root cd /data/sbin; sh test.sh >/dev/null 2>&1

    为了防止上一个进程还没完成,下一个进程就启动,我们可以创建一个shell来守护该进程,方法如下:

    #!/bin/sh
    ps aux | grep test/init | grep -v  grep > /dev/null
    
    if [ $? != 0 ]
    then
        echo "Yii test not runing"
        cd /data/web/; /usr/bin/php yii test/init 1>/dev/null 2>/tmp/test.txt &
    fi

    注意:

    如果使用文本编辑是在windows下通过记事本编写的这个文件,运行 在linux环境下。

    报  unexpected end of file 的错,原因是 windows 和 Linux的换行符不同导致的。

    解决思路:

    DOS下的文本文件是以 作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以 作为断行标志的,表示成十六进制就是0A。

    【在windows里,换行用的两个符号,回车 ,换行符号 ,在linux下只需一个符号 就可以了.】

    解决方案:

    使用下面的命令将文件格式设置为unix格式即可解决上述错误。
    vim  test.sh
    :set fileformat=unix
    :wq


  • 相关阅读:
    Linux/UNIX编程:实现简单 tee 命令
    Java原子变量类需要注意的问题
    一种很有意思的数据结构:Bitmap
    Java实现简单井字棋
    分治算法学习
    使用栈实现表达式求值
    Web安全学习笔记——SQL注入
    【old】Python学习笔记
    函数1
    pycharm(Tip of Day)
  • 原文地址:https://www.cnblogs.com/chrdai/p/9244706.html
Copyright © 2011-2022 走看看