我正在开发一个基于Yocto的系统。我的问题是我无法在设备启动后立即启动用C++和网络服务器(node.js(编写的程序。
我已经在/etc/init.d 中尝试过这个:
#! /bin/bash
/home/ProjectFolder/myProject
cd /home/myapp && DEBUG=myapp:* npm start
exit 0
我在创建脚本后更改了权限
chmod +x ./startProg.sh
之后我通过以下方式链接它
update-rc.d startProg.sh defaults
重新启动后,系统仅启动C++程序。我尝试了一些其他的可能性,例如在不同的 shell 脚本中分隔两个逗号,但这并没有更好。
我错过了什么选项,或者我在尝试将这两个进程放入自动启动时犯了任何错误?
这当然不是C++或Node.js的问题。除非另有指定,否则 shell 脚本是按顺序执行的命令列表。因此,您的 shell 脚本按指定的顺序运行两个程序,首先myProject
,完成后npm
将启动。
这与提示中发生的情况相同,解决方案相同:/home/ProjectFolder/myProject &