Node.js 在子进程spawn nodejs中响应密码查询

Node.js 在子进程spawn nodejs中响应密码查询,node.js,ubuntu-16.04,child-process,spawn,Node.js,Ubuntu 16.04,Child Process,Spawn,我需要你帮我弄清楚这个 我试图通过子进程spawn调用外部应用程序,调用应用程序后,它会请求密码。然后我得到一个致命错误,子进程退出。我尝试了几种不同的组合来放置child.stdin.write('somepassword\n'),但得到了相同的错误。我认为这与应用程序没有将孩子视为终端有关 示例代码: const{spawn}=require('child_进程'); constchild=spawn('./someapp',[arguments],{shell:true}); //过程标

我需要你帮我弄清楚这个

我试图通过子进程spawn调用外部应用程序,调用应用程序后,它会请求密码。然后我得到一个致命错误,子进程退出。我尝试了几种不同的组合来放置child.stdin.write('somepassword\n'),但得到了相同的错误。我认为这与应用程序没有将孩子视为终端有关

示例代码:

const{spawn}=require('child_进程');
constchild=spawn('./someapp',[arguments],{shell:true});
//过程标准管道(子标准管道)
child.stdin.write('testpw\n');//无效
child.stdout.on('data',(data)=>{
log(`child stdout:\n${data}`);
//child.stdin.write('testpw\n');//这里也没有效果
});
child.stdin.end();
child.stderr.on('data',(data)=>{
错误(`child stderr:\n${data}`);
});
子.on('exit',函数(代码,信号){
console.log('子进程已退出'+
`代码${code}和信号${signal}`);
});
终端输出
>节点spawn.js
儿童标准:
输入密码:致命错误:
Unix.Unix\u错误(Unix.ENOTTY,“tcgetattr”,“”)
子进程退出,代码为1,信号为空