栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Node.js使用单独的stdout和stderr流以交互方式生成子进程

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Node.js使用单独的stdout和stderr流以交互方式生成子进程

我只是在重新讨论一下,因为从5.7.0版开始,节点中的spawn命令现在有了一个’shell’选项。不幸的是,似乎没有一个选项可以生成一个 交互式的
shell(我也尝试过

shell: '/bin/sh-i'
但没有喜悦)。但是,我刚刚发现这建议使用“
stdbuf”,使您可以更改要运行的程序的缓冲选项。将它们在所有内容上都设置为0会为所有流生成无缓冲的输出,并且它们仍然保持分开。

这是更新的javascript:

var TEST_EXEC = './test';var spawn = require('child_process').spawn;var test = spawn('stdbuf', ['-i0', '-o0', '-e0', TEST_EXEC]);test.stdout.on('data', function (data) {  console.log('stdout: ' + data);});test.stderr.on('data', function (data) {  console.log('stderr: ' + data);});// Simulate entering data for getchar() after 1 secondsetTimeout(function() {  test.stdin.write('n');}, 1000);

看起来这不是OSX上预装的,当然Windows也不可用,不过可能是类似的选择。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409735.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号