亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux中獲取系統(tǒng)運行時間的多種方法詳解

 更新時間:2025年03月11日 10:34:57   作者:lepton_yang  
在開發(fā) 、測試和運維中,獲取系統(tǒng)運行時間是一個很重要的參數(shù)指標,本文為大家整理了一些常用的獲取系統(tǒng)時間的方法,希望對大家有所幫助

在開發(fā) 、測試和運維中,獲取系統(tǒng)運行時間是一個很重要的參數(shù)指標,下面是常用的獲取系統(tǒng)時間的方法,以SKYLAB的SKW3000路由模組的運行時間為例進行說明:

一.通過指令獲取

獲取系統(tǒng)運行時間的指令為uptime,具體操作輸出如下:

這個方法在運維中運用,方便直觀。但是在開發(fā)過程中使用此命令獲取系統(tǒng)時間,需要提取字段中的內(nèi)容,不如通過其他方式獲取方便,下面是文件獲取的方法。

二.通過文件獲取

在linux系統(tǒng)中,文件/proc/time包含了系統(tǒng)運行總秒數(shù)和空閑時間,內(nèi)容如下圖所示,前面為系統(tǒng)運行時間,后面為CPU處于空閑的時間:

[系統(tǒng)運行總秒數(shù)]:系統(tǒng)的運行時間信息,以S為單位,精確到小數(shù)點,表示系統(tǒng)從開機到當前時刻所經(jīng)歷的時長,圖示為:933370.06;

[空閑時間]:它反映了系統(tǒng)沒有進行任何有效工作,CPU處于空閑等待狀態(tài)的累計時長,圖示為:1787850.84。

在開發(fā)中,如日志記錄等,可以通過讀取文件的方式獲取系統(tǒng)運行時間。下面是兩種通過文件獲取系統(tǒng)運行時間的方法。

(1)通過Shell獲取系統(tǒng)時間的方法

下面是具體的源碼:

#!/bin/sh
 
uptime_seconds=$(cat /proc/uptime | cut -d. -f1)
 
days=$((uptime_seconds / (24 * 60 * 60)))
uptime_seconds=$((uptime_seconds % (24 * 60 * 60)))
hours=$((uptime_seconds / (60 * 60)
uptime_seconds=$((uptime_seconds % (60 * 60)))
minutes=$((uptime_seconds / 60))
seconds=$((uptime_seconds % 60))
 
echo "系統(tǒng)運行時間: $days 天 $hours 小時 $minutes 分鐘 $seconds 秒"

運行結(jié)果如下:

(2)下面是通過C語言獲取系統(tǒng)時間的方法

具體源碼如下:

#include <stdio.h>
#include <stdlib.h>
 
void get_run_time(char *time)
{
    FILE *fp;
    double uptime_seconds;
    int days, hours, minutes, seconds;
 
    // 打開 /proc/uptime 文件
    fp = fopen("/proc/uptime", "r");
    if (fp == NULL) {
        perror("無法打開 /proc/uptime 文件");
        return;
    }
 
    // 讀取系統(tǒng)運行的總秒數(shù)
    fscanf(fp, "%lf", &uptime_seconds);
    fclose(fp);
 
    // 計算天、時、分、秒
    days = (int)uptime_seconds / (24 * 60 * 60);
    uptime_seconds = (int)uptime_seconds % (24 * 60 * 60);
    hours = (int)uptime_seconds / (60 * 60);
    uptime_seconds = (int)uptime_seconds % (60 * 60);
    minutes = (int)uptime_seconds / 60;
    seconds = (int)uptime_seconds % 60;
 
    if (days > 0) {
        sprintf(time, "%dday%dh%dm%ds", days, hours, minutes, seconds);
    } else if(hours > 0) {
        sprintf(time, "%dh%dm%ds", hours, minutes, seconds);
    } else if(minutes > 0) {
        sprintf(time, "%dm%ds", minutes, seconds);
    } else {
        sprintf(time, "%ds", seconds);
    }
}
 
int main(void)
{
    char run_time[32] = {0};
    get_run_time(run_time);
    printf("Time:%s\r\n", run_time);
}

運行結(jié)果如下:

三.知識擴展

除了上文的方法,小編還為大家整理了一些其他在Linux中查看系統(tǒng)運行時間的方法,希望對大家有所幫助

在Linux中,查看系統(tǒng)的運行時間(也稱為系統(tǒng)啟動時間)可以通過多種命令實現(xiàn)。以下是一些常用的方法:

1. uptime命令

uptime命令提供了一個快速的概覽,顯示了系統(tǒng)運行時間、當前時間、用戶數(shù)量以及系統(tǒng)的負載平均值。

uptime

輸出示例:

21:34:02 up 10 days,  2:58,  1 user,  load average: 0.00, 0.01, 0.05

這表示系統(tǒng)已經(jīng)運行了10天2小時58分鐘。

2. systemctl命令

在使用systemd的系統(tǒng)上,systemd是初始化系統(tǒng)和服務的管理器,你可以使用systemctl命令查看系統(tǒng)的運行時間。

systemctl list-timers

這將列出所有的定時器,包括systemd的啟動定時器。你可以通過查找boot或start關鍵字來確定系統(tǒng)運行時間。

3. 查看/proc/uptime文件

/proc/uptime文件包含了系統(tǒng)運行時間的信息,以秒為單位。

cat /proc/uptime

輸出示例:

887563.92 887563.92

第一列的數(shù)字表示自系統(tǒng)啟動以來的總秒數(shù)。你可以將其轉(zhuǎn)換為更易讀的格式,例如:

echo "scale=2; 887563.92 / 60 / 60 / 24" | bc

4. 查看/var/log中的日志文件

在某些Linux發(fā)行版中,/var/log目錄下的日志文件(如messages、syslog或boot.log)可以提供系統(tǒng)的啟動時間。

grep -i "boot" /var/log/messages

或者,如果你的系統(tǒng)使用的是journalctl:

journalctl --list-boots

5. 使用last命令

last命令顯示了系統(tǒng)的關機和啟動日志。

last | grep reboot

這將顯示重啟和關機的記錄。

注意事項

  • 某些命令可能需要超級用戶權(quán)限才能運行。
  • 日志文件的位置和名稱可能會根據(jù)不同的Linux發(fā)行版和配置有所不同。
  • 如果日志被旋轉(zhuǎn)或刪除,使用日志文件查看系統(tǒng)運行時間的方法可能不可行。

到此這篇關于Linux中獲取系統(tǒng)運行時間的多種方法詳解的文章就介紹到這了,更多相關Linux獲取系統(tǒng)運行時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Linux和GNU系統(tǒng)的關系詳解

    Linux和GNU系統(tǒng)的關系詳解

    大家好,本篇文章主要講的是Linux和GNU系統(tǒng)的關系詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • linux系統(tǒng)下oracle11gR2靜默安裝的經(jīng)驗分享

    linux系統(tǒng)下oracle11gR2靜默安裝的經(jīng)驗分享

    這篇文章主要介紹了linux系統(tǒng)下oracle11gR2靜默安裝的經(jīng)驗, 所有操作無需使用圖形界面. 靜默安裝能減少安裝出錯的可能性, 也能大大加快安裝速度。有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 安裝Ubuntu和ssh遠程連接的設置方式

    安裝Ubuntu和ssh遠程連接的設置方式

    文章介紹了在Ubuntu操作系統(tǒng)中進行遠程連接配置的方法,具體步驟包括:安裝并配置SSH服務,設置靜態(tài)IP地址,配置遠程桌面服務(VNC或RDP),以及解決root用戶SSH遠程登錄的問題
    2025-03-03
  • Linux通用java程序啟動腳本代碼實例

    Linux通用java程序啟動腳本代碼實例

    這篇文章主要介紹了Linux通用java程序啟動腳本代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • 在Linux中查看所有正在運行的進程的方法

    在Linux中查看所有正在運行的進程的方法

    這篇文章主要介紹了在Linux中查看所有正在運行的進程的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 在 CentOS 8 上安裝Jenkins的方法

    在 CentOS 8 上安裝Jenkins的方法

    這篇文章主要介紹了在 CentOS 8 上安裝Jenkins的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • 詳解Linux中搭建常用服務器

    詳解Linux中搭建常用服務器

    本篇文章主要介紹了Linux中搭建常用服務器,主要包括telnet、DHCP、DNS、sendmail、FTP、web、samba有興趣的可以了解一下。
    2016-12-12
  • Linux系統(tǒng)清除緩存的方法總結(jié)

    Linux系統(tǒng)清除緩存的方法總結(jié)

    在本篇文章里小編給大家整理了關于Linux系統(tǒng)清除緩存的方法和實例內(nèi)容,需要的朋友們參考下。
    2020-01-01
  • Centos搭建圖形化界面VNC的方法

    Centos搭建圖形化界面VNC的方法

    在使用騰訊云的centos云服務器時如果你需要使用圖形化界面,比如圖形界面安裝oracle,應該怎么做?今天就和大家分享下圖形界面的安裝和vnc的搭建,來解決剛才提到的問題
    2015-10-10
  • CentOS 6.5中利用yum搭建LNMP環(huán)境的步驟詳解

    CentOS 6.5中利用yum搭建LNMP環(huán)境的步驟詳解

    這篇文章主要給大家介紹了關于在CentOS 6.5中利用yum搭建LNMP環(huán)境的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-12-12

最新評論