Nodejs中執(zhí)行的shell命令的代碼分享
雖然nodejs運行時提供了和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 溫度信息。
獲取硬盤 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}`); });
通過 smartctl
命令獲取硬盤 SMART 信息。
獲取網(wǎng)絡接口信息
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)絡接口信息。
獲取系統(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}`); });
上述命令會查找系統(tǒng)中最大的文件并返回信息。
獲取系統(tǒng)啟動時間
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)啟動時間。
檢查系統(tǒng)是否在運行特定服務
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}`); });
上述代碼會檢查 Apache2 服務是否在運行。
獲取系統(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}`); });
上述代碼會檢查系統(tǒng)中可升級的軟件包列表。
到此這篇關(guān)于Nodejs中執(zhí)行的shell命令的代碼分享的文章就介紹到這了,更多相關(guān)Nodejs執(zhí)行shell命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pnpm實現(xiàn)依賴包共享和依賴包項目隔離的方法詳解
pnpm是Node.js的包管理器,它是 npm 的直接替代品,相對于npm和yarn它的優(yōu)點就在于速度快和高效節(jié)省磁盤空間,本文主要講解pnpm相比于npm/yarn如何利用軟硬鏈接來節(jié)省磁盤空間,以及如何實現(xiàn)依賴包共享和依賴包項目隔離的,需要的朋友可以參考下2024-05-05了不起的node.js讀書筆記之mongodb數(shù)據(jù)庫交互
這篇文章主要介紹了了不起的node.js讀書筆記之mongodb數(shù)據(jù)庫交互,需要的朋友可以參考下2014-12-12