在shell脚本中,有没有办法在启动服务器后运行shell命令?我正在尝试启动nodejs,然后在Chrome中启动该站点。但是只有在nodejs处理完毕后才会打开浏览器。
#!/bin/sh
# run node server
node server.js
#launch web browser
/usr/bin/open -a "/Applications/Google Chrome.app" 'http://localhost:3000/'
exit 0
要求是打开Chrome并加载正在服务的nodejs(localhost)。
答案 0 :(得分:0)
在后台生成服务器(作为守护程序)。让您的服务器写入某种锁文件。在您的脚本中,在锁文件不存在时循环(或使用其他一些基本信号机制),然后在发出信号后打开chrome。
另一个解决方案是在后台生成服务器并在尝试打开chrome之前稍微睡一会儿。如果不了解你的要求,很难说哪个更好。
答案 1 :(得分:0)
这是一种简单的菜鸟方式,但您需要重新加载浏览器标签。您可以启动浏览器,然后运行节点服务器。
/usr/bin/open -a "/Applications/Google Chrome.app" 'http://localhost:3000/' && node server.js