模块叫 sync-runner
。今天刚写的,要睡了也懒得换系统再写个,所以暂时只支持windows,不过其它系统也是要写的。
大致就是可以这样:
var run = require("sync-runner");
var result = run("ping 127.0.0.1", 1000);
console.log(result);
不推荐将这个模块用于服务器,可以用于本地的 REPL 程序以及 native app
如 node-webkit 等。
比如要通过node来调用gcc编译器啊,然后再比如获取系统gcc版本啊,就可以用它方便地使用了:
var result = run("gcc --version");
安装很简单:
$ npm install sync-runner
github的repo在https://github.com/XadillaX/syncRunner
欢迎大家fork或者干嘛干嘛,也欢迎大家提交别的系统的同步函数-。 - 在我还没写之前。
或者找找bug什么的,谢谢啦 0. 0
新版本 0.0.5
已经支持 linux 和 mac 了。
但是求高手来排查一下,mac 下没问题,linux 如果超时执行了,貌似掐掉子进程之后还是会出现僵尸——请看 test/index
第一个样例 ping
。
7 回复
Node.js 0.12 将会支持 child_process.execSync()
http://strongloop.com/strongblog/whats-new-in-node-js-v0-12-execsync-a-synchronous-api-for-child-processes/