当我在启动时使用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尝试在需要运行以处理脚本的几个服务之前启动脚本?!
答案 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脚本?