"无法打开* .sh"启动时的消息

时间:2015-05-30 11:11:18

标签: linux shell startup execution init.d

当我在启动时使用return render_to_response("logs/logs.html", {'contents': contents}, context_instance=RequestContext(request)) 目录运行脚本S*.sh以将其链接到init.d时,我收到以下消息:

  

无法打开文件/etc/rcS.d

py.sh中包含py.sh,应该执行。所有文件都设置为超级用户,并且所有用户都有权读取,写入和执行。当我手动启动S*.sh时,它可以正常工作。

以下是用S*.sh编写的代码:

S*.sh

也许,因为它手动工作,它与启动顺序有关。也许Ubuntu尝试在需要运行以处理脚本的几个服务之前启动脚本?!

3 个答案:

答案 0 :(得分:1)

检查您的包含。您必须在include中提供完整路径,否则如果您只放置脚本的名称,它将假定该文件应位于当前工作目录中,该目录可能与您脚本的位置不同。

答案 1 :(得分:0)

直接在 /etc/rc.local 中调用此脚本,以便在开始时运行它。

/etc/y.sh &>/dev/null &

答案 2 :(得分:0)

现在我发现,为什么系统会在启动时挂起。 Can't open py.sh不是主要问题。问题是while循环,因为脚本没有在后台启动。系统等待while - 循环完成(需要10天),然后继续启动。

Py.sh访问设备(电池计算机),只能使用正在运行的系统访问此设备。当然它说py.sh无法找到,但同时我只是从py.sh中取出代码,并认识到系统需要运行才能访问设备。

现在问题的结果是:如何在启动时在BACKGROUND中启动shell脚本?