Shell 脚本在启动时无法运行

Shell 脚本在启动时无法运行

我想要一个可执行程序在启动时运行。为此,我创建了一个 shell 脚本:/etc/init.d/server。然后我跑了chmod +x name_of_script,然后update-rc.d server defaults

服务器(脚本):

#!/bin/sh
cd /home/root/
./Server_msg

Server_msg 打印来自客户端的消息。在静态 IP 地址 192.168.1.200 上接收消息。

笔记:连接是无线的:静态 IP 地址 192.168.1.200 通过也在启动时运行的脚本分配给设备,该脚本加载 Wi-Fi 驱动程序的适配器。

问题:

当我添加脚本时服务器要在启动时运行,系统无法运行这两个脚本。

有任何想法吗?

答案1

默认情况下,如果您使用:

update-rc.d server defaults

然后update-rc.d将创建在运行级别 2345 中启动server服务并在运行级别 016 中停止的链接,所有这些链接都有序列号20

如果server脚本依赖于其他服务,例如networking.因此,当server脚本启动而其依赖的服务尚未启动时,它将失败。

为了确保server脚本仅在其所有依赖服务启动时运行,您可以为server脚本提供更高的优先级:

update-rc.d server defaults 90

或将其添加到/etc/rc.local.

相关内容