国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

利用NodeJS的子進程(child_process)調用系統命令的方法分享

2019-11-20 22:39:51
字體:
來源:轉載
供稿:網友
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 的結果是一樣的。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铜山县| 黎川县| 肇东市| 潼关县| 合肥市| 柯坪县| 景东| 保定市| 莱西市| 宝丰县| 建始县| 琼中| 临桂县| 黄平县| 汉沽区| 舟山市| 岳普湖县| 潍坊市| 余干县| 甘南县| 榕江县| 安远县| 阿克陶县| 晋江市| 大连市| 麟游县| 石屏县| 黑水县| 遂昌县| 鹤山市| 乌海市| 商水县| 北川| 辽中县| 华宁县| 隆子县| 确山县| 且末县| 唐海县| 长寿区| 北辰区|