evo*_*ion 8 javascript node.js
是否可以使用node.js作为进程调用perl脚本并逐行读回stdout?
我非常肯定使用普通的javascript这通常是不可能的,但使用node.js的服务器端脚本似乎有一定道理.
您可以使用node的内置spawn命令执行子进程,并carrier处理以下行的逐行处理stdout:
安装:
$ npm install carrier
Run Code Online (Sandbox Code Playgroud)
码:
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);
})
Run Code Online (Sandbox Code Playgroud)
是的,看看spawn/exec.
http://nodejs.org/docs/v0.4.8/api/child_processes.html
var exec = require('child_process').exec;
exec("perl someperl.pl", function(err, stdout, stderr) {
/* do something */
});
Run Code Online (Sandbox Code Playgroud)
我不知道为什么你不会在节点中这样做.
| 归档时间: |
|
| 查看次数: |
7594 次 |
| 最近记录: |