• 当前位置: 首 页 > 教育百科 > 其他 > 正文

    Linux 开机自启动多个脚本程序

    :2021年08月29日
    CSDN

    Linux开机自启动在项目中应用很常见,突然停电或者故障,程序总归要关掉的,如果手动去启动程序,比较麻烦,所以开机自启动是非常重要的一环。  在Debian或者Ubuntu中,开机之后会调用一个脚本文件:/e...

    Linux开机自启动在项目中应用很常见,突然停电或者故障,程序总归要关掉的,如果手动去启动程序,比较麻烦,所以开机自启动是非常重要的一环。
      在Debian或者Ubuntu中,开机之后会调用一个脚本文件:/etc/rc.local,所以在这个文件中写好要启动的程序即可。Debian linux发行版系统现在可能没有rc.local文件了,不过没有关系,直接在/etc文件下新建一个rc.local文件即可,开机就会运行该程序。
      所以只要在该文件中直接启动你的程序即可,或者也可以启动一个脚本文件(.sh),在这个脚本文件中启动要启动的程序,下面就是rc.local文件内容的实例。
        #!/bin/bash -e
        location="/home/debian"     #脚本路径
        cd $location
        $location/rc.sh
        $location/run.sh
        exit 0
        1
        2
        3
        4
        5
        6
      上面的rc.local文件中就另行启动了脚本文件(rc.sh)来运行自己的程序,以下就是rc.sh的内容,启动gateway程序。
    #!/bin/sh
    location=/home/debian/gateway20191211
    echo $location
    cd $location
    find $location/log -mtime +7 -type f |xargs rm -f
    out=$(date "+%Y-%m-%d")".txt"
    pwd
    $location/gateway >> $location/log/$out
        1
        2
        3
        4
        5
        6
        7
        8
        9
      细心的朋友可能还发现其实上面rc.local运行了两个脚本,但是实际运行过程中只启动了第一个,这是因为第一个程序运行还没有结束,就不会运行第二个程序,所以这样基本上就不会个程序同时启动。
      如果要同时启动两个程序,则需要这样来写脚本文件,将两个脚本文件相与。
    #!/bin/bash -e
    location="/home/debian"         #脚本路径
    cd $location
    $location/run.sh & $location/GetPID.sh
    exit 0
        1
        2
        3
        4
        5
      此外如果还需要设计一个进程看门狗,监控该程序是否运行,则可以这样来写脚本:(先获取进程PID,然后再监控该PID是否存在)
    #!/bin/bash
    while true
    do
    process=gateway               #监控的程序运行名
    pid=$(ps -ef|grep $process |grep '/home/debian' | grep -v grep |awk '{print $2}')
    echo $pid
    if [ $pid -ne 0 ]
    then                 #如果程序PID在,则程序在运行
            echo `date`
            echo “pid is exitable!”
    else                #否则程序没有运行,需要启动程序    启动的程序在run.sh文中。
            echo `date`
            echo "pid isnot exitable!"
            sudo sh run.sh >> $(date "+%Y-%m-%d")".txt"
    fi
    sleep 15s
    done
    exit 0
        该脚本一开机就运行,监控程序PID,如果发现没有,立即启动,15s检查一次。
    ————————————————
    版权声明:本文为CSDN博主「张一西」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_34430371/article/details/104471701

    [编辑:宋聪乔 &发表于江苏]
    [我要纠错]

    来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
    声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。

    关键词: Linux 开机 启动 目中 应用
    有价值
    0
    无价值
    0
    猜您喜欢
    最热文章

    暂不支持手机端,请登录电脑端访问

    正在加载验证码......

    请先完成验证