3

私のCコードでLinuxマシンに電源が供給されているので、システム時間を見つける必要があります。「time()」や gettimeofday() などの関数は、電源投入以降ではなく、エポック以降の時間を返します。電源を入れてからの時間またはクロックティック数を確認するにはどうすればよいですか?

前もって感謝します!

4

3 に答える 3

3

参照: Wgat API を呼び出してシステム時刻を取得する

sysinfo() を参照してください

sys/sysinfo.h

struct sysinfo {
  long uptime;             /* Seconds since boot */
  unsigned long loads[3];  /* 1, 5, and 15 minute load averages */
  unsigned long totalram;  /* Total usable main memory size */
  unsigned long freeram;   /* Available memory size */
  unsigned long sharedram; /* Amount of shared memory */
  unsigned long bufferram; /* Memory used by buffers */
  unsigned long totalswap; /* Total swap space size */
  unsigned long freeswap;  /* swap space still available */
  unsigned short procs;    /* Number of current processes */
  unsigned long totalhigh; /* Total high memory size */
  unsigned long freehigh;  /* Available high memory size */
  unsigned int mem_unit;   /* Memory unit size in bytes */
  char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding for libc5 */
};
于 2013-07-18T15:50:34.417 に答える
2

C API を知りたい場合は、

この質問は、 「システムの稼働時間を取得するために呼び出す API は何ですか?」と重複している可能性があります。

シェル経由で稼働時間を知りたい場合は、uptime コマンドを使用します。

$uptime
于 2013-07-18T15:49:58.203 に答える