在 OpenSuse 11 上启动时自动启动脚本

在 OpenSuse 11 上启动时自动启动脚本

我需要在 OpenSuSe 11 启动时运行以下示例脚本:

#!/bin/sh
i=0;
while true; do
    "SOME COMMAND FOR SAVING i TO ANOTHER PLACE" &> /dev/null
    i=$((i+1))
    sleep 1
done

所以基本上只需每秒对变量加 1,然后将该变量发送到另一个系统。我将此脚本保存在/bin/user/script.sh

从控制台启动脚本效果很好。

/bin/user/script.sh > /dev/null 2>&1 &

首先,我将此行添加到 OpenSuSe 附带的现有 /etc/init.d/boot.local 中,但是这运行得不太稳定。有时启动,有时不启动。我以为是因为用户权限,但即使之后

chmod 755 script.sh

问题仍然存在。然后我制作了自己的 /etc/init.d/myscript

/etc/init.d/myscript 的内容:

#! /bin/sh
#
# /etc/init.d/myscript
#
### BEGIN INIT INFO
# Provides:          myscript
# Required-Start:
# Required-Stop:
# Default-Start:     3 5
# Default-Stop:      0
# Short-Description: Start myscript while booting
# Description:       ...
### END INIT INFO
#
#
#
case "$1" in
    start)
        echo "Starting myscript."
        /bin/user/script.sh > /dev/null 2>&1 &
        ;;
    stop)
        echo "Stopping myscript."
        killall -9 script.sh
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
        ;;
esac

然后我为我的脚本执行了 insserv 命令:

insserv myscript

从控制台启动和停止是可行的。

/etc/init.d/myscript start
/etc/init.d/myscript stop

但启动后 myscript 再次没有生命迹象。

我究竟做错了什么?如何才能在每次系统启动时成功运行脚本?

2015.11.12 更新:此脚本在 OpenSuSe 11 上启动时可以正常工作并正常启动。

答案1

您是否已验证 insserv 是否有效?

如果你运行chkconfig --list | grep myscript你会得到任何输出吗?

相关内容