如何在nodejs里调用执行系统命令

2024-11-15 21:29:26
推荐回答(1个)
回答1:

每种语言都有自己的优势,互相结合起来各取所长程序执行起来效率更高或者说哪种实现方式较简单就用哪个,nodejs是利用子进程来调用系统命令或者文件,文档见nodejs.org/api/child_process.html,NodeJS子进程提供了与系统交互的重要接口,其主要API有: 标准输入、标准输出及标准错误输出的接口。 NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有: 标准输入、标准输出及标准错误输出的接口 child.stdin 获取标准输入 child.stdout 获取标准输出 child.stderr 获取标准错误输出 获取子进程的PID:child.pid 提供生成子进程的方法:child_process.spawn(cmd, args=[], [options]) 提供直接执行系统命令的方法:child_process.exec(cmd, [options], callback) 提供调用脚本文件的方法:child_process.execFile(file, [args], [options], [callback]) 提供杀死进程的方法:child.kill(signal='SIGTERM') 用实例来感受一下,很有意思的,呵呵~~ 1、利用子进程调用系统命令(获取系统内存使用情况) 新建nodejs文件,名为cmd_spawn.js,代码如下: 复制代码 代码如下: var spawn = require('child_process').spawn; free = spawn('free', ['-m']); // 捕获标准输出并将其打印到控制台 free.stdout.on('data', function (data) { console.log('standard output:\n' + data); }); // 捕获标准错误输出并将其打印到控制台 free.stderr.on('data', function (data) { console.log('standard error output:\n' + data); }); // 注册子进程关闭事件 free.on('exit', function (code, signal) { console.log('child process eixt ,exit:' + code); });