[英]How do I get to transfer an array from the server side to client side in node.js?
[英]How do I get the server uptime in Node.js?
如何在Node.js中獲得服務器正常運行時間,以便我可以通過命令輸出它;
if(commandCheck("/uptime")){
Give server uptime;
}
現在我不知道如何計算服務器啟動時的正常運行時間。
您可以使用process.uptime()
。 只需調用它來獲取自node
啟動以來的秒數。
function format(seconds){
function pad(s){
return (s < 10 ? '0' : '') + s;
}
var hours = Math.floor(seconds / (60*60));
var minutes = Math.floor(seconds % (60*60) / 60);
var seconds = Math.floor(seconds % 60);
return pad(hours) + ':' + pad(minutes) + ':' + pad(seconds);
}
var uptime = process.uptime();
console.log(format(uptime));
在幾秒鍾內獲得進程的正常運行時間
console.log(process.uptime())
在幾秒鍾內獲得OS正常運行時間
console.log(require('os').uptime())
你可以做些什么來獲得正常的時間格式;
String.prototype.toHHMMSS = function () {
var sec_num = parseInt(this, 10); // don't forget the second param
var hours = Math.floor(sec_num / 3600);
var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
var seconds = sec_num - (hours * 3600) - (minutes * 60);
if (hours < 10) {hours = "0"+hours;}
if (minutes < 10) {minutes = "0"+minutes;}
if (seconds < 10) {seconds = "0"+seconds;}
var time = hours+':'+minutes+':'+seconds;
return time;
}
if(commandCheck("/uptime")){
var time = process.uptime();
var uptime = (time + "").toHHMMSS();
console.log(uptime);
}
假設這是一個* nix服務器,您可以使用child_process
使用uptime
shell命令:
var child = require('child_process');
child.exec('uptime', function (error, stdout, stderr) {
console.log(stdout);
});
如果你想以不同的方式格式化該值或將其傳遞到其他地方,那么這樣做應該是微不足道的。
編輯:正常運行時間的定義似乎有點不清楚。 此解決方案將告訴用戶設備已啟動多長時間,這可能是也可能不是您所追求的。
我不確定你是在談論HTTP服務器,實際的機器(或VPS)還是一般的Node應用程序。 以下是Node中http
服務器的示例。
通過在listen
回調中獲取Date.now()
存儲服務器啟動的時間。 然后,您可以通過在另一個時間點從Date.now()
中減去此值來計算正常運行時間。
var http = require('http');
var startTime;
var server = http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Uptime: ' + (Date.now() - startTime) + 'ms');
});
server.listen(3000, function () {
startTime = Date.now();
});
以ms為單位同步獲取unix正常運行時間:
const fs= require("fs");
function getSysUptime(){
return parseFloat(fs.readFileSync("/proc/uptime", {
"encoding": "utf8"
}).split(" ")[0])*1000;
}
console.log(getSysUptime());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.