如何在package.json start中的同一命令行中运行节点服务器和java服务器

时间:2017-06-05 09:51:49

标签: java node.js linux npm package.json

我需要跑:

node server.js

并且:

java -Xmx4g -cp 'libraries/corenlp/*' edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties StanfordCoreNLP-french.properties -port 9000 -timeout 15000

我试过了:

node server.js; java -Xmx4g -cp 'libraries/corenlp/*' edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties StanfordCoreNLP-french.properties -port 9000 -timeout 15000

或者

node server.js && java -Xmx4g -cp 'libraries/corenlp/*' edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties StanfordCoreNLP-french.properties -port 9000 -timeout 15000

但是在这两种情况下,当我在节点应用程序中询问它时,java服务器没有运行。但是如果我在2个不同的控制台中运行两个命令。 没有问题。 谢谢

编辑:我尝试在npm start中执行此操作

2 个答案:

答案 0 :(得分:1)

好的,我找到了办法: 我的package.json:

"scripts": {
    "start-nlp" : "java -Xmx4g -cp 'libraries/corenlp/*' edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties StanfordCoreNLP-french.properties -port 9000 -timeout 15000 &",
    "start-node": "node server.js",
    "start": "npm run start-nlp && npm run start-node"

},

答案 1 :(得分:0)

您需要在后台运行流程。请在命令末尾添加&以在后台运行它们。

node server.js &

java -Xmx4g -cp 'libraries/corenlp/*' edu.stanford.nlp.pipeline.StanfordCoreNLPServer -serverProperties StanfordCoreNLP-french.properties -port 9000 -timeout 15000 &

要杀死它们,您需要使用ps -ef | grep命令搜索这些进程。