发布于 

electron中的cmd命令执行和监听

监听CMD命令: 成功、失败、执行结束

使用场景

执行系统操作,或者启动其他进程。这时候,我们就需要能够监听CMD命令的执行结果,以便根据不同的情况做出相应的处理

需求目的

能够执行任意的CMD命令:

  • 获取其输出[正常/异常]
  • 判断CMD命令是否执行成功

相关实现

利用Node.js提供的child_process模块创建一个带有标准输入输出流的子进程,使用spawn方法来执行CMD命令,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// 引入child_process模块
const { spawn } = require('child_process');

// 执行ping命令
const child = spawn('ping', ['www.baidu.com']);

// 监听子进程的标准输出流
child.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});

// 监听子进程的标准错误流
child.stderr.on('data', (data) => {
console.error(`stderr: ${data}`);
});

// 监听子进程的退出事件
child.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});

// 监听子进程的错误事件
child.on('error', (err) => {
console.error(`child process error: ${err}`);
});

相关总结

通过使用Node.js的child_process模块,可以监听其CMD命令成功、失败、执行结束等事件。命令执行流程控制还有其它的函数,具体的用法可以参考Node.js的官方文档

参考文档