2015-08-15 93 views
0

My Brackets擴展想要重複發送數據到其節點進程。像:如何重複輸入數據到括號節點子進程?

#include <stdio.h> 
int main(){ 
    int a,b; 
    while(scanf("%d %d", &a, &b)!=EOF) 
    printf("%d\n",a+b); 
    return 0; 
} 

我知道在純節點,我可以這樣寫:

var exec = require('child_process').exec; 
var ch = exec('./a.out'); 
process.stdin.pipe(ch.stdin);  
ch.stdout.pipe(process.stdout); 
ch.stderr.pipe(process.stdout); 

但在括號中,NodeDomain.prototype.exec()沒有返回一個子進程對象。有什麼辦法可以做到這一點?

回答

0

是的,括號NodeDomain不會返回一個ChildProcess到括號代碼(例如您的main.js)。
但它確實將其保存在域中,因此您可以在域中執行不同的命令以將數據發送到ChildProcess:

var child; 
var childProcess = require("child_process"); 
function start() { 
    child = exec('./a.out'); 
} 
function send(data) { 
    // Send data to the child 
    // process.stdin.pipe(child.stdin); 
} 
domainManager.registerCommand("domain", "start", start); 
domainManager.registerCommand("domain", "send", send);