在 NodeJS 中生成交互式进程并退出

Spawn interactive process and exit in NodeJS

我正在尝试完成(我认为)一件相当简单的事情,但找不到任何现有的答案,所以就这样吧。

我想在节点中模仿以下bash脚本:

#!/usr/bin/bash
mysql

基本上就像在命令行中输入 'mysql' 一样。到目前为止,我想出了以下内容:

var spawn = require('child_process').spawn;
var child = spawn('/usr/bin/mysql', [], {stdio: 'inherit', detached: true});
child.unref();

工作正常(向我显示 mysql 提示符),但是当我键入命令时,它被发送到 bash 命令行而不是 mysql。 我已经在 stdout、stderr 等上尝试了其他 stdio 选项(pipe、ignore)和监听器,但这让我达到了挂起空提示的程度。任何和所有建议表示赞赏!

你试过没有detached: true吗?它应该与 stdio 设置为 inherit 并且未在选项

中设置分离