我希望计算机在启动时立即启动 Node.js 应用程序。然后我希望 Chrome 以 Kiosk 模式打开,但仅在服务器启动后才打开。在 Ubuntu Stack Overflow 上,我找到了一种在启动时执行脚本的方法
在你的 cron 中添加一行如下:
@reboot /路径/到/脚本
计算机启动后将执行该脚本。
我以为我可以使用 .sh 脚本来做到这一点,但我对 Linux 还不熟悉。如果我要写这样的代码:
node server.js
chromium-browser --kiosk http://example.com
直到节点服务器完全启动后,chromium-browser 命令才会执行吗?
答案1
你试过吗?如果试过,结果如何?
我猜想如果你尝试过,它就会失败。这是因为进程node server.js
永远不会停止继续。通常在这种情况下,你会使用node server.js &
将进程发送到后台;但是,这并不意味着服务器已准备就绪。
要真正了解这一点,最好的办法是使用listen callback
执行系统命令。例如:
var http = require("http");
var srv = http.createServer(...);
srv.listen(8000, ExecuteChromium);
function ExecuteChromium() {
exec("chromium-browser --kiosk http://example.com", function(error, stdout, stderr) {
console.log("stdout: " + stdout);
console.log("stderr: " + stderr);
if (error !== null) {
console.log("exec errror: " + error);
}
});
}
注意:目前尚未经过测试,只是查看了一些文档和所以回答执行命令。