使用sh脚本运行两次node.js
我用这个内容创build了一个名为runall.sh
的bash脚本:
#!/bin/bash node ../app1/app.js && node ../app/app.js
我chmod +x ./runall.sh
并可以运行它。
但只有../app1/app.js
开始。 如果我手动运行node ../app2/app.js
它工作。
你可能想用&背景?
#!/bin/bash node ../app1/app.js &; node ../app/app.js &
shell脚本中的&&
运算符试图进行短路AND
比较。 这意味着它检查在第二个命令开始之前第一个命令的结果是什么。 所以它会等到第一次调用node
终止,然后再调用第二个node
。
正如@daniel之前所说的,'&&'操作符后面的命令只有在执行完第一个命令后才会被调用。
所以你可以用'&'运算符发送一个命令到后台,或者你可以像永远一样使用某种node.js进程pipe理器。
这样你的runall.sh可能看起来像
#! /bin/bash forever start ../app1/app.js forever start ../app2/app.js