Node.js调用perl脚本并获得标准输出
node.js call a perl script and get stdout
是否可以使用node.js调用perl脚本作为进程并逐行读取标准输出?
我很确定与正常的javascript这通常是不可能的,但服务器端脚本使用node.js它似乎是有意义的。
您可以使用node内置的spawn
命令执行子进程,carrier
命令逐行处理stdout
:
$ npm install carrier
代码:var util = require('util'),
spawn = require('child_process').spawn,
carrier = require('carrier'),
pl_proc = spawn('perl', ['script.pl']),
my_carrier;
my_carrier = carrier.carry(pl_proc.stdout);
my_carrier.on('line', function(line) {
// Do stuff...
console.log('line: ' + line);
})
是的,查看spawn/exec。
http://nodejs.org/docs/v0.4.8/api/child_processes.htmlvar exec = require('child_process').exec;
exec("perl someperl.pl", function(err, stdout, stderr) {
/* do something */
});
我不知道你为什么不直接在node中做。
相关文章:
- 将咖啡转换为javascript,并将结果显示在Emacs中的标准输出中
- 在文本区域中显示 SSH2 标准输出和标准输出
- 如何处理节点.js中/从节点输出的 (cli) 标准输出流的字符编码
- 在 Jasmine 测试中将 console.log() 的调用重定向到标准输出
- 获取块上的可执行文件标准输出
- 输出脚本标签而不带jQuery,避免执行
- 执行:显示标准输出“实时”
- Browserify-require()一个组合字符串不会将模块构建到输出脚本中
- 过程和过程之间的区别是什么?标准和进程.标准输出与HTTP请求和响应
- Nodejs child_process.exec:在控制台上禁用标准输出打印
- 检查是否有cookie设置,如果没有输出脚本
- 我怎么能使用回调时,输出被打印到标准输出在ruby
- 从node.js运行脚本,捕获标准输出,通过web套接字发送
- 分割标准输出并将每个部分管道到命令
- 将标准输出流转换为html (add
在美化下) - 在Meteor/Node中确定从服务器返回的输出是标准错误还是标准输出
- 奇怪的执行问题-标准输出不显示-回调不工作
- 从金字塔视图动态输出标准输出'子流程.打开到网页
- 从正在等待输入的衍生进程中读取标准输出
- Node.js调用perl脚本并获得标准输出