Node.js:进程生成挂起

4
我正在尝试运行以下shell命令:
netstat -nat | grep 3000
最终目标是通过Node.js使用spawn获取连接到特定端口的IP地址,命令如下:
netstat -nat | grep 3000 | grep ESTABLISHED
具体实现请参考https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options
const netStat = spawn('netstat', ['-nat']);
const grep = spawn('grep', ['3000']);

netStat.stdout.on('data', (data) => {
  grep.stdin.write(data);
});

console.log('Determining public ip\'s connected to port 3000');
grep.stdout.on('data', function(data){
  console.log(data.toString());
});

但结果一直卡住了,我做错了什么吗? 提前感谢您的帮助!

1
处理所有事件,可能会漏掉stderr的一些内容? - Cody G
为什么你必须处理所有的事件?- 它起作用了。 - Sterling Butters
不是说你必须这样做,抱歉——这更像是一个关于“希望这能让你明白为什么它失败了”的陈述,但我很高兴它修复了你的错误,哈哈。你正在运行哪个节点版本? - Cody G
哈哈,好吧,那我就不管了。 - Sterling Butters
我的猜想是它无法打开任何东西将输出传输到 stderr,因此它会一直尝试。 - Cody G
有趣,很有道理,谢谢! - Sterling Butters
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接