如何让linux开机运行一个app, 并保持它的运行.

参考了1106的ipc里面的方法, 分三步

  1. 准备好的你应用, 放在任意位置, 比如为了方便我直接复制到了/sbin/下面, 或者你也可以放在/oem/usr/bin下面, 只要能访问就行.

  2. 如你所知, 要想程序自动启动, 就改/etc/init.d/rcS文件即可, 在最后一行, 加入

/data/rerun.sh xxx &

这个xxx就是你的应用的名字, 实在不行可以加上绝对路径的. & 表示在后台跑

另外这个语句可以重叠, 就是你可以需要监控多个应用, 比如应用a, 应用b, 分两行写就行了.

/data/rerun.sh app_a &
/data/rerun.sh app_b &
  1. 接下来, 在data目录下, 或者任何目录都行, 只要rcS文件写对就行, 编辑这个rerun.sh 如下:
#!/bin/sh
echo $#
if [ $# -lt 1 ]; then
        exit
fi

while true; do
        pidof $1
        [ $? -ne 0 ]  && eval $1
        sleep 1
        echo restart $1
done

其内容就是, 如果程序挂了, 就赶紧把它弄起来

然后把这个文件用

chmod +x rerun.sh

让它变成一个可执行的脚本

  1. 然后重启一下, 你就会发现守护进程就能自动启动你的应用了, 如果你手动杀死它, 它还会自动帮你把应用扶起来…

小小注意点: 你的应用最好也有一定的退出机制跟清理内存, 打扫战场的过程, 不然守护进程把你扶起来之后发现内存不够了, 也是个事儿…随着你重启次数的增加, 可能你系统也会因为内存不足而挂掉或者应用也起不来了.

你可能感兴趣的:(linux,运维,服务器)