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 溫度信息。
獲取硬盤 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)絡(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)文章
nodejs中用npm初始化來創(chuàng)建package.json的實(shí)例講解
今天小編就為大家分享一篇nodejs中用npm初始化來創(chuàng)建package.json的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10
在Linux上用forever實(shí)現(xiàn)Node.js項(xiàng)目自啟動(dòng)
在一臺(tái)計(jì)算機(jī)上手動(dòng)跑Node項(xiàng)目簡(jiǎn)單,node xx.js就搞定了,想讓Node項(xiàng)目后臺(tái)運(yùn)行,雖然不能直接用node命令搞定,但是在安裝了forever這個(gè)包以后,還是很輕松的。不過要是在遠(yuǎn)程服務(wù)器上構(gòu)建Node項(xiàng)目,如果沒法自啟動(dòng),一旦服務(wù)器重啟,那就麻煩了。2014-07-07
初學(xué)者如何快速搭建Express開發(fā)系統(tǒng)步驟詳解
這篇文章主要介紹了初學(xué)者如何快速搭建Express開發(fā)系統(tǒng),結(jié)合實(shí)例形式詳細(xì)分析了express框架搭建的具體步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2023-05-05
nodejs 中模擬實(shí)現(xiàn) emmiter 自定義事件
這篇文章主要介紹了Nodejs中自定義事件實(shí)例,比較簡(jiǎn)單的一個(gè)例子,需要的朋友可以參考下。2016-02-02
NodeJS與HTML5相結(jié)合實(shí)現(xiàn)拖拽多個(gè)文件上傳到服務(wù)器的實(shí)現(xiàn)方法
這篇文章主要介紹了NodeJS與HTML5相結(jié)合實(shí)現(xiàn)拖拽多個(gè)文件上傳到服務(wù)器的實(shí)現(xiàn)方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
Node.js中創(chuàng)建和管理外部進(jìn)程詳解
這篇文章主要介紹了Node.js中創(chuàng)建和管理外部進(jìn)程詳解,本文講解了執(zhí)行外部命令的方法、子進(jìn)程相關(guān)內(nèi)容等,需要的朋友可以參考下2014-08-08

