从shell脚本中杀死Node.js程序
Killing a Node.js program from a shell script
我正在运行一个node.js应用程序,它充当中间人代理,代理我通过PhantomJS无头测试环境发出的所有请求。我想从我的PhantomJS测试脚本(尽管我已经研究过了,但phantom似乎没有用于执行shell命令的exec()
命令)或管理这两个进程的小型shell脚本中旋转这个代理。理想情况下,它会做一些类似的事情
#!/bin/bash
node proxy.js
phantomjs runTests.js
kill node process here
有什么办法我能做到这一点吗?
问了这个问题后,我发现了一种更好的方法,可以通过使用子进程从我的节点应用程序中执行幻影程序。我把我的幻影脚本放在包含我的节点应用程序的文件夹中,然后使用exec,如下所示:
var exec = require('child_process').exec;
var _phantom = exec('phantomjs runTests.js',function(error,stdout,stderr){
console.log(stdout);
};
_phantom.on('exit',function(code,sig){
process.exit(code);
});
这意味着我可以启动代理服务器,然后执行子进程。_phantom.on('exit')
块允许我检测进程何时在代码上退出。然后,使用process.exit
向节点应用程序发出退出信号非常简单。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 如何使用 node.js 比较两个 json 数组
- Node.js's Buffer.writeFloatBE in Javascript
- node.js:setInterval()正在跳过调用
- 如何处理node.js节点mongodb中的连接和查询队列
- Node.js正在更改应用程序以使用集群模块
- 如何使用Node.js最有效地解析网页
- 在openshift node js应用程序中获取请求
- 正在删除node.js中已验证的网站
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js中的JavaScript原型对象效率
- node.js请求数据事件未在CORS ajax调用中触发
- 使用node.js制作网站
- 使用node.js服务器中的evernote api获取note内容
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 在Node.js中上传和检索图像
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 如何使用 Node JS 获取 JSON 嵌套数组值