CNode

在Node中,如何用子进程模块完成一个有交互的命令?

问答
MMasterlu1998发布于8 年前最后回复8 年前5 回复4074 浏览0 收藏

Node中的子进程模块可以输入一些shell命令来完成一些事情 比如查看当前目录的文件: screenshot.png 但如果有一个命令需要执行后再次输入比如密码之类的子命令,应该如何通过该模块实现?或者不通过该模块如何实现?

查看回复

回复 (5)

A
aojiaotage#2·8 年前

往子进程的stdin里面写命令,子进程根据不同命令走不同逻辑就好了,in/out用来做交互足够了

D
dislido#3·8 年前
const child_process = require('child_process');

const c = child_process.spawn('cmd');

c.stdout.on('data', data => console.log(`###cmd###\n${data.toString()}\n#########`));

c.stdin.write('echo hello world\n');
M
Masterlu1998#4·8 年前
引用 dislido

@dislido 多谢我马上试试

M
Masterlu1998#5·8 年前

感谢楼上几位老哥@aojiaotage @Fov6363

参与回复
登录后即可参与回复。登录