源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

利用NodeJS的子进程(child_process)调用系统命令的方法分享

  • 时间:2020-06-19 11:12 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:利用NodeJS的子进程(child_process)调用系统命令的方法分享
NodeJS子进程简介 NodeJS子进程提供了与系统交互的重要接口,其主要API有: 标准输入、标准输出及标准错误输出的接口。 [b]NodeJS子进程简介[/b] NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有: 标准输入、标准输出及标准错误输出的接口 child.stdin 获取标准输入 child.stdout 获取标准输出 child.stderr 获取标准错误输出 获取子进程的PID:child.pid 提供生成子进程的重要方法:child_process.spawn(cmd, args=[], [options]) 提供直接执行系统命令的重要方法:child_process.exec(cmd, [options], callback) 提供杀死进程的方法:child.kill(signal='SIGTERM') [b]实例一:利用子进程获取系统内存使用情况 [/b] 将以下代码保存为 free.js:
[u]复制代码[/u] 代码如下:
var spawn = require('child_process').spawn, free = spawn('free', ['-m']); // 捕获标准输出并将其打印到控制台 free.stdout.on('data', function (data) { console.log('标准输出:\n' + data); }); // 捕获标准错误输出并将其打印到控制台 free.stderr.on('data', function (data) { console.log('标准错误输出:\n' + data); }); // 注册子进程关闭事件 free.on('exit', function (code, signal) { console.log('子进程已退出,代码:' + code); });
执行代码后的结果: $ node free.js 标准输出: total used free shared buffers cached Mem: 3949 1974 1974 0 135 959 -/+ buffers/cache: 879 3070 Swap: 3905 0 3905 子进程已退出,代码:0 以上输出相当与在命令行执行:free -m 命令。 通过这个简单的例子我们已经对子进程的使用有所了解,下面再来一个示例,用于演示exec 的使用方法。 [b]实例二:利用子进程统计系统登录次数 [/b] 将下面代码保存为 last.js
[u]复制代码[/u] 代码如下:
var exec = require('child_process').exec, last = exec('last | wc -l'); last.stdout.on('data', function (data) { console.log('标准输出:' + data); }); last.on('exit', function (code) { console.log('子进程已关闭,代码:' + code); });
执行代码: $ node last.js 标准输出:203 子进程已关闭,代码:0 其与直接在命令行输入:last | wc -l 的结果是一样的。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部