Node.js:如何将控件C发送到子进程

编程入门 行业动态 更新时间:2024-10-09 05:16:41

Node.js:如何将控件C<a href=https://www.elefans.com/category/jswz/34/1771348.html style=发送到子进程"/>

Node.js:如何将控件C发送到子进程

我正在使用node.js + socket.io编写一个类似Web的linux shell。像ls,cd这样的简单命令运行良好。但是,当发出诸如ping google之类的命令时,标准输出将不断打印。我试图将Ctrl + C发送给stdin,但没有运气。

1)生成“重击”过程

spawn = require('child_process').spawn;
var sh = spawn('bash');

2)将bash stdout发送到socket.io>

sh.stdout.on('data', function(data) {
   console.log('stdout' + data);
   listener.sockets.emit("stdout",new Buffer(data));
});

3)将Ctl C(\ x03)发送到bash的stdin。var listener = io.listen(server);

listener.set('log level',1);
listener.sockets.on('connection', function(client){
   client.on('message', function(data){
      if(data === "KILL") {
         console.log('!!!!' + data);
         sh.stdin.write('\x03');
         client.broadcast.send(new Buffer("KILLING "));
         //return;
      };
      console.log(data);
      sh.stdin.write(data+"\n");
      client.broadcast.send(new Buffer("> "+data));
   });
});

我被困在这一点上。好像

我正在使用node.js + socket.io编写一个类似Web的linux shell。像ls,cd这样的简单命令运行良好。但是,当发出诸如ping google之类的命令时,标准输出将不断打印。我尝试过...

回答如下:

尝试process.kill(sh.pid)。当我的主进程关闭时,我用它杀死集群中的工人。 sh.signalCode应该等于SIGTERM。当然,我不知道这是否适用于Windows。

更多推荐

Node.js:如何将控件C发送到子进程

本文发布于:2024-05-07 15:05:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756832.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:发送到   控件   如何将   进程   Node

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!