Nodejs中執(zhí)行的shell命令的代碼分享
雖然nodejs運(yùn)行時(shí)提供了和OS交互的諸多API命令,但是有些操作(例如:特定系統(tǒng)信息獲?。┻€是使用shell命令更加方便一些,本文列舉了一些宜在nodejs中執(zhí)行的shell代碼的例子。
獲取 CPU 溫度
const { exec } = require('child_process'); exec('sensors', (err, stdout, stderr) => { if (err) { console.error(`Error: ${err}`); return; } console.log(`CPU Temperature:\n${stdout}`); console.error(`stderr: ${stderr}`); });
上述代碼使用 sensors
命令獲取 CPU 溫度信息。
獲取硬盤(pán) SMART 信息
const { exec } = require('child_process'); exec('smartctl -a /dev/sda', (err, stdout, stderr) => { if (err) { console.error(`Error: ${err}`); return; } console.log(`Hard Disk SMART Information:\n${stdout}`); console.error(`stderr: ${stderr}`); });
通過(guò) smartctl
命令獲取硬盤(pán) SMART 信息。
獲取網(wǎng)絡(luò)接口信息
const { exec } = require('child_process'); exec('ifconfig', (err, stdout, stderr) => { if (err) { console.error(`Error: ${err}`); return; } console.log(`Network Interfaces:\n${stdout}`); console.error(`stderr: ${stderr}`); });
使用 ifconfig
命令獲取網(wǎng)絡(luò)接口信息。
獲取系統(tǒng)日志
const { exec } = require('child_process'); exec('journalctl', (err, stdout, stderr) => { if (err) { console.error(`Error: ${err}`); return; } console.log(`System Journal:\n${stdout}`); console.error(`stderr: ${stderr}`); });
使用 journalctl
命令獲取系統(tǒng)日志信息。
獲取系統(tǒng)內(nèi)存使用情況
const { exec } = require('child_process'); exec('free -h', (err, stdout, stderr) => { if (err) { console.error(`Error: ${err}`); return; } console.log(`Memory Usage:\n${stdout}`); console.error(`stderr: ${stderr}`); });
使用 free
命令獲取系統(tǒng)內(nèi)存使用情況。
查找系統(tǒng)中最大的文件
const { exec } = require('child_process'); exec('find / -type f -exec du -h {} + | sort -rh | head -n 1', (err, stdout, stderr) => { if (err) { console.error(`Error: ${err}`); return; } console.log(`Largest File:\n${stdout}`); console.error(`stderr: ${stderr}`); });
上述命令會(huì)查找系統(tǒng)中最大的文件并返回信息。
獲取系統(tǒng)啟動(dòng)時(shí)間
const { exec } = require('child_process'); exec('uptime -s', (err, stdout, stderr) => { if (err) { console.error(`Error: ${err}`); return; } console.log(`System Start Time:\n${stdout}`); console.error(`stderr: ${stderr}`); });
使用 uptime
命令獲取系統(tǒng)啟動(dòng)時(shí)間。
檢查系統(tǒng)是否在運(yùn)行特定服務(wù)
const { exec } = require('child_process'); exec('systemctl is-active apache2', (err, stdout, stderr) => { if (err) { console.error(`Error: ${err}`); return; } const isActive = stdout.trim() === 'active'; console.log(`Apache2 Status: ${isActive ? 'Running' : 'Inactive'}`); console.error(`stderr: ${stderr}`); });
上述代碼會(huì)檢查 Apache2 服務(wù)是否在運(yùn)行。
獲取系統(tǒng) IP 地址
const { exec } = require('child_process'); exec('curl ifconfig.me', (err, stdout, stderr) => { if (err) { console.error(`Error: ${err}`); return; } console.log(`Public IP Address:\n${stdout}`); console.error(`stderr: ${stderr}`); });
使用 curl
命令獲取系統(tǒng)的公共 IP 地址。
檢查系統(tǒng)中的軟件包更新
const { exec } = require('child_process'); exec('apt list --upgradable', (err, stdout, stderr) => { if (err) { console.error(`Error: ${err}`); return; } console.log(`Upgradable Packages:\n${stdout}`); console.error(`stderr: ${stderr}`); });
上述代碼會(huì)檢查系統(tǒng)中可升級(jí)的軟件包列表。
到此這篇關(guān)于Nodejs中執(zhí)行的shell命令的代碼分享的文章就介紹到這了,更多相關(guān)Nodejs執(zhí)行shell命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pnpm實(shí)現(xiàn)依賴(lài)包共享和依賴(lài)包項(xiàng)目隔離的方法詳解
pnpm是Node.js的包管理器,它是 npm 的直接替代品,相對(duì)于npm和yarn它的優(yōu)點(diǎn)就在于速度快和高效節(jié)省磁盤(pán)空間,本文主要講解pnpm相比于npm/yarn如何利用軟硬鏈接來(lái)節(jié)省磁盤(pán)空間,以及如何實(shí)現(xiàn)依賴(lài)包共享和依賴(lài)包項(xiàng)目隔離的,需要的朋友可以參考下2024-05-05Koa從零搭建到Api實(shí)現(xiàn)項(xiàng)目的搭建方法
這篇文章主要介紹了Koa從零搭建到Api實(shí)現(xiàn)項(xiàng)目的搭建方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07了不起的node.js讀書(shū)筆記之mongodb數(shù)據(jù)庫(kù)交互
這篇文章主要介紹了了不起的node.js讀書(shū)筆記之mongodb數(shù)據(jù)庫(kù)交互,需要的朋友可以參考下2014-12-12node實(shí)現(xiàn)的爬蟲(chóng)功能示例
這篇文章主要介紹了node實(shí)現(xiàn)的爬蟲(chóng)功能,結(jié)合實(shí)例形式分析了nodejs實(shí)現(xiàn)爬蟲(chóng)功能的步驟與相關(guān)操作技巧,需要的朋友可以參考下2018-05-05