如何在启动服务器后运行bash命令?

时间:2015-03-18 02:05:49

标签: node.js bash shell

在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)。

2 个答案:

答案 0 :(得分:0)

在后台生成服务器(作为守护程序)。让您的服务器写入某种锁文件。在您的脚本中,在锁文件不存在时循环(或使用其他一些基本信号机制),然后在发出信号后打开chrome。

另一个解决方案是在后台生成服务器并在尝试打开chrome之前稍微睡一会儿。如果不了解你的要求,很难说哪个更好。

答案 1 :(得分:0)

这是一种简单的菜鸟方式,但您需要重新加载浏览器标签。您可以启动浏览器,然后运行节点服务器。

/usr/bin/open -a "/Applications/Google Chrome.app" 'http://localhost:3000/' && node server.js