簡體   English   中英

如何重復向Brackets節點子進程輸入數據?

[英]How can I input data to Brackets node child process repeatly?

我的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()沒有返回ChildProcess對象。 有什么辦法可以實現?

是的,Brackets NodeDomain不會將ChildProcess返回到Brackets代碼(例如您的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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM