C ++でシステムの稼働時間をミリ秒単位で取得するにはどうすればよいですか?

user3426112

システムの起動からシステムの稼働時間を取得するにはどうすればよいですか?私が見つけたのは、エポックからの時間だけでした。

たとえば、ctimeライブラリのtime()のようなものですが、エポックからの秒の値しか表示されません。time()のようなものが欲しいのですが、システムの開始以来。

Pixelchemist

これはOSに依存しており、stackoverflow上のいくつかのシステムですでに回答されています。

#include<chrono> // for all examples :)

Windows ..。

使用GetTickCount64()(解像度は通常10〜16ミリ秒)

#include <windows>
// ...
auto uptime = std::chrono::milliseconds(GetTickCount64());

Linux ..。

...使用 /proc/uptime

#include <fstream>
// ...
std::chrono::milliseconds uptime(0u);
double uptime_seconds;
if (std::ifstream("/proc/uptime", std::ios::in) >> uptime_seconds)
{
  uptime = std::chrono::milliseconds(
    static_cast<unsigned long long>(uptime_seconds*1000.0)
  );
}

...使用sysinfo(解像度1秒)

#include <sys/sysinfo.h>
// ...
std::chrono::milliseconds uptime(0u);
struct sysinfo x;
if (sysinfo(&x) == 0)
{
  uptime = std::chrono::milliseconds(
    static_cast<unsigned long long>(x.uptime)*1000ULL
  );
}

OS X ..。

...使用 sysctl

#include <time.h>
#include <errno.h>
#include <sys/sysctl.h>
// ...
std::chrono::milliseconds uptime(0u);
struct timeval ts;
std::size_t len = sizeof(ts);
int mib[2] = { CTL_KERN, KERN_BOOTTIME };
if (sysctl(mib, 2, &ts, &len, NULL, 0) == 0)
{
  uptime = std::chrono::milliseconds(
    static_cast<unsigned long long>(ts.tv_sec)*1000ULL + 
    static_cast<unsigned long long>(ts.tv_usec)/1000ULL
  );
}

BSDのようなシステム(CLOCK_UPTIMEまたはCLOCK_UPTIME_PRECISEそれぞれをサポートするシステム)..。

...使用clock_gettime(解像度を参照clock_getres

#include <time.h>
// ... 
std::chrono::milliseconds uptime(0u);
struct timespec ts;
if (clock_gettime(CLOCK_UPTIME_PRECISE, &ts) == 0)
{
  uptime = std::chrono::milliseconds(
    static_cast<unsigned long long>(ts.tv_sec)*1000ULL + 
    static_cast<unsigned long long>(ts.tv_nsec)/1000000ULL
   );
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

クロスプラットフォームのC ++ 32ビットシステムでミリ秒単位の時差を取得するにはどうすればよいですか?

分類Dev

C#を使用したデータソースの稼働時間の値を確認するにはどうすればよいですか?

分類Dev

C ++(MSVS)のエポックからのローカル現在時刻を秒単位で取得するにはどうすればよいですか?

分類Dev

Windows の稼働時間を秒単位で取得するにはどうすればよいですか?

分類Dev

Windowsでシステムの稼働時間を取得するにはどうすればよいですか?

分類Dev

cプログラムの実行時間を取得するにはどうすればよいですか?

分類Dev

C#で正規表現を使用してHTMLからシステムの稼働時間を抽出する方法

分類Dev

時間差を時間、分、秒で見つけるにはどうすればよいですか?C#Windowsフォームアプリ

分類Dev

クロスプラットフォームのC ++でシステムを起動/起動時間をミリ秒単位で取得する方法(Windows / IOS / Android / MACで動作するはずです)

分類Dev

PowerShellまたはC#からWMIを使用する-ミリ秒を含むリモートホスト時間を取得するにはどうすればよいですか?

分類Dev

C#でシステムとは異なる名前空間から型を取得するにはどうすればよいですか?

分類Dev

C#で希望の時間と日付の形式を取得するにはどうすればよいですか?

分類Dev

.NET C#コンソールアプリケーション実稼働環境からより詳細な例外情報を取得するにはどうすればよいですか。

分類Dev

C ++でコードの実行時間を取得するにはどうすればよいですか?

分類Dev

C#システムアセンブリへのパスを取得するにはどうすればよいですか

分類Dev

UnityのC#の場合、半径が毎秒0.1単位縮小するボールを作成するにはどうすればよいですか?

分類Dev

Linuxシステムコールの出力をC / C ++で取得するにはどうすればよいですか?

分類Dev

Linuxシステムコールの出力をC / C ++で取得するにはどうすればよいですか?

分類Dev

IArgumentCompleterのC#実装で現在のファイルシステムの場所を取得するにはどうすればよいですか?

分類Dev

C#でSQLクエリの実行時間を計るにはどうすればよいですか?

分類Dev

C#プログラムを50ミリ秒スリープさせるにはどうすればよいですか?

分類Dev

Cでファイルシステムの名前とサイズを取得するにはどうすればよいですか?

分類Dev

システムの稼働時間を使用するPythonthreading.Timerに相当するものを取得するにはどうすればよいですか?

分類Dev

C#でリストからアイテムを削除するにはどうすればよいですか?

分類Dev

C#で午前12時から午後6時の間にランダムな時間を生成するにはどうすればよいですか?

分類Dev

c#参照されているアイテムリストの名前を取得するにはどうすればよいですか?

分類Dev

C#でリストの最初のN要素を取得するにはどうすればよいですか?

分類Dev

C#を使用してHTMLリストボックス内のアイテムを取得/比較するにはどうすればよいですか?

分類Dev

C#Azure関数の単体テストを作成するにはどうすればよいですか?

Related 関連記事

  1. 1

    クロスプラットフォームのC ++ 32ビットシステムでミリ秒単位の時差を取得するにはどうすればよいですか?

  2. 2

    C#を使用したデータソースの稼働時間の値を確認するにはどうすればよいですか?

  3. 3

    C ++(MSVS)のエポックからのローカル現在時刻を秒単位で取得するにはどうすればよいですか?

  4. 4

    Windows の稼働時間を秒単位で取得するにはどうすればよいですか?

  5. 5

    Windowsでシステムの稼働時間を取得するにはどうすればよいですか?

  6. 6

    cプログラムの実行時間を取得するにはどうすればよいですか?

  7. 7

    C#で正規表現を使用してHTMLからシステムの稼働時間を抽出する方法

  8. 8

    時間差を時間、分、秒で見つけるにはどうすればよいですか?C#Windowsフォームアプリ

  9. 9

    クロスプラットフォームのC ++でシステムを起動/起動時間をミリ秒単位で取得する方法(Windows / IOS / Android / MACで動作するはずです)

  10. 10

    PowerShellまたはC#からWMIを使用する-ミリ秒を含むリモートホスト時間を取得するにはどうすればよいですか?

  11. 11

    C#でシステムとは異なる名前空間から型を取得するにはどうすればよいですか?

  12. 12

    C#で希望の時間と日付の形式を取得するにはどうすればよいですか?

  13. 13

    .NET C#コンソールアプリケーション実稼働環境からより詳細な例外情報を取得するにはどうすればよいですか。

  14. 14

    C ++でコードの実行時間を取得するにはどうすればよいですか?

  15. 15

    C#システムアセンブリへのパスを取得するにはどうすればよいですか

  16. 16

    UnityのC#の場合、半径が毎秒0.1単位縮小するボールを作成するにはどうすればよいですか?

  17. 17

    Linuxシステムコールの出力をC / C ++で取得するにはどうすればよいですか?

  18. 18

    Linuxシステムコールの出力をC / C ++で取得するにはどうすればよいですか?

  19. 19

    IArgumentCompleterのC#実装で現在のファイルシステムの場所を取得するにはどうすればよいですか?

  20. 20

    C#でSQLクエリの実行時間を計るにはどうすればよいですか?

  21. 21

    C#プログラムを50ミリ秒スリープさせるにはどうすればよいですか?

  22. 22

    Cでファイルシステムの名前とサイズを取得するにはどうすればよいですか?

  23. 23

    システムの稼働時間を使用するPythonthreading.Timerに相当するものを取得するにはどうすればよいですか?

  24. 24

    C#でリストからアイテムを削除するにはどうすればよいですか?

  25. 25

    C#で午前12時から午後6時の間にランダムな時間を生成するにはどうすればよいですか?

  26. 26

    c#参照されているアイテムリストの名前を取得するにはどうすればよいですか?

  27. 27

    C#でリストの最初のN要素を取得するにはどうすればよいですか?

  28. 28

    C#を使用してHTMLリストボックス内のアイテムを取得/比較するにはどうすればよいですか?

  29. 29

    C#Azure関数の単体テストを作成するにはどうすればよいですか?

ホットタグ

アーカイブ