利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013-06-05 12:52
841 查看
NodeJS子进程简介 NodeJS子进程提供了与系统交互的重要接口,其主要API有: 标准输入、标准输出及标准错误输出的接口。
NodeJS子进程简介
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')
实例一:利用子进程获取系统内存使用情况
将以下代码保存为 free.js:
复制代码 代码如下:
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 的使用方法。
实例二:利用子进程统计系统登录次数
将下面代码保存为 last.js
复制代码 代码如下:
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 的结果是一样的。
NodeJS子进程简介
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')
实例一:利用子进程获取系统内存使用情况
将以下代码保存为 free.js:
复制代码 代码如下:
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 的使用方法。
实例二:利用子进程统计系统登录次数
将下面代码保存为 last.js
复制代码 代码如下:
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 的结果是一样的。
您可能感兴趣的文章:
相关文章推荐
- 利用NodeJS的子进程(child_process)调用系统命令的方法分享
- 利用NodeJS的子进程(child_process)调用系统命令
- 利用NodeJS的子进程(child_process)调用系统命令
- Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
- Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
- Windows下Node.js使用child_process模块调用系统命令的编码问题
- Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
- Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
- QT5删除隐藏目录+隐藏文件(使用Process::start函数调用系统命令,且等待到结束)
- ubuntu利用apt-get install命令安装软件时报错:有另外一个进程正在使用(is another process using it)
- iOS JS 交互之利用系统JSContext实现 JS调用oc方法
- c#关闭系统进程以及如何调用cmd并执行命令
- 利用shutdown命令关闭系统方法
- nodejs的多进程管理模块child_process
- 解析android framework下利用app_process来调用java写的命令及示例
- Linux中利用shutdown命令关闭系统方法
- nodejs 开发服务端 child_process 调试方法(1)
- python调用系统命令的方法
- 拦截电话---> 关于利用反射 调用系统 hiden的 方法
- Android-调用本地方法实现将C进程分支出来即生成系统进程/NDK-JNI开发实例(九)