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

首頁 > 語言 > JavaScript > 正文

利用NodeJS的子進(jìn)程(child_process)調(diào)用系統(tǒng)命令的方法分享

2024-05-06 15:47:02
字體:
供稿:網(wǎng)友
child_process即子進(jìn)程可以創(chuàng)建一個系統(tǒng)子進(jìn)程并執(zhí)行shell命令,在與系統(tǒng)層面的交互上挺有用處

NodeJS子進(jìn)程簡介 NodeJS子進(jìn)程提供了與系統(tǒng)交互的重要接口,其主要API有: 標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出及標(biāo)準(zhǔn)錯誤輸出的接口。

NodeJS子進(jìn)程簡介

NodeJS 子進(jìn)程提供了與系統(tǒng)交互的重要接口,其主要 API 有:

標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出及標(biāo)準(zhǔn)錯誤輸出的接口
child.stdin 獲取標(biāo)準(zhǔn)輸入
child.stdout 獲取標(biāo)準(zhǔn)輸出
child.stderr 獲取標(biāo)準(zhǔn)錯誤輸出
獲取子進(jìn)程的PID:child.pid
提供生成子進(jìn)程的重要方法:child_process.spawn(cmd, args=[], [options])
提供直接執(zhí)行系統(tǒng)命令的重要方法:child_process.exec(cmd, [options], callback)
提供殺死進(jìn)程的方法:child.kill(signal='SIGTERM')

實例一:利用子進(jìn)程獲取系統(tǒng)內(nèi)存使用情況

將以下代碼保存為 free.js:

復(fù)制代碼 代碼如下:


var spawn = require('child_process').spawn,
free = spawn('free', ['-m']);

// 捕獲標(biāo)準(zhǔn)輸出并將其打印到控制臺
free.stdout.on('data', function (data) {
console.log('標(biāo)準(zhǔn)輸出:/n' + data);
});

// 捕獲標(biāo)準(zhǔn)錯誤輸出并將其打印到控制臺
free.stderr.on('data', function (data) {
console.log('標(biāo)準(zhǔn)錯誤輸出:/n' + data);
});

// 注冊子進(jìn)程關(guān)閉事件
free.on('exit', function (code, signal) {
console.log('子進(jìn)程已退出,代碼:' + code);
});



執(zhí)行代碼后的結(jié)果:

$ node free.js
標(biāo)準(zhǔn)輸出:
total used free shared buffers cached
Mem: 3949 1974 1974 0 135 959
-/+ buffers/cache: 879 3070
Swap: 3905 0 3905

子進(jìn)程已退出,代碼:0
以上輸出相當(dāng)與在命令行執(zhí)行:free -m 命令。

通過這個簡單的例子我們已經(jīng)對子進(jìn)程的使用有所了解,下面再來一個示例,用于演示exec 的使用方法。

實例二:利用子進(jìn)程統(tǒng)計系統(tǒng)登錄次數(shù)

將下面代碼保存為 last.js

復(fù)制代碼 代碼如下:


var exec = require('child_process').exec,
last = exec('last | wc -l');

last.stdout.on('data', function (data) {
console.log('標(biāo)準(zhǔn)輸出:' + data);
});

last.on('exit', function (code) {
console.log('子進(jìn)程已關(guān)閉,代碼:' + code);
});


執(zhí)行代碼:

$ node last.js
標(biāo)準(zhǔn)輸出:203

子進(jìn)程已關(guān)閉,代碼:0
其與直接在命令行輸入:last | wc -l 的結(jié)果是一樣的。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 新乐市| 阿鲁科尔沁旗| 革吉县| 巴里| 包头市| 饶阳县| 昌乐县| 德州市| 巧家县| 岳普湖县| 浦城县| 集安市| 康保县| 富蕴县| 昭觉县| 富源县| 偃师市| 安图县| 成都市| 衡水市| 阳东县| 伊金霍洛旗| 比如县| 江山市| 福建省| 盐津县| 衡阳市| 桂平市| 固安县| 商丘市| 曲靖市| 峡江县| 临泉县| 浮山县| 嘉义县| 进贤县| 四会市| 开阳县| 叶城县| 伊通| 铜川市|