V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
XadillaX
V2EX  ›  Node.js

一个 node 同步执行可执行文件并返回输出到字符串的模块

  •  
  •   XadillaX · 2014-04-27 00:52:32 +08:00 · 3009 次点击
    这是一个创建于 3658 天前的主题,其中的信息可能已经有所发展或是发生改变。
    模块叫 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
    6 条回复    1970-01-01 08:00:00 +08:00
    chemzqm
        1
    chemzqm  
       2014-04-27 04:40:50 +08:00
    我用这个 https://github.com/visionmedia/co-exec 你可以参考一下
    XadillaX
        2
    XadillaX  
    OP
       2014-04-27 10:51:38 +08:00 via Android
    这个是0.11才有的特性吧,我的是可以向下兼容的。
    qiukun
        3
    qiukun  
       2014-04-27 10:55:53 +08:00
    Iced Coffee:
    exec = require('child_process').exec
    await exec('g++ -v', defer(error, stdout, stderr))
    console.log stdout
    heroicYang
        4
    heroicYang  
       2014-04-27 13:20:31 +08:00
    0.12 要支持子进程同步执行命令的特性啦~ 嘿嘿~
    XadillaX
        5
    XadillaX  
    OP
       2014-04-27 19:03:37 +08:00
    @heroicYang 所以都说了是新特性了 -。 - 离0.12出来还有段时间,或者说等0.12的stable出来还有一段时间,现在0。11还是unstable呢
    XadillaX
        6
    XadillaX  
    OP
       2014-04-27 19:03:56 +08:00
    @qiukun -。 - 求用C实现linux下的功能
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   783 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 21:03 · PVG 05:03 · LAX 14:03 · JFK 17:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.