JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... > int ntp_gettime(struct ntptimeval * ntv ); int ntp_gettimex(struct ntptimeval * ntv ); 説明 これらの API は両方とも、 ntv 引き数(以下のタイ ... me (3) を介して設定できます。この値はカーネル内部では使用されません。 tai TAI (Atomic International Time) オフセット。 ntp_gettime () は ntptimeval 構造体を返します。この構造体の time 、 maxerror 、 esterror フィールドに値が入っています。 ntp_gettimex ( ... ) は ntp_gettime ()と同じタスクを実行しますが、 tai フィールドの情報も返します。 返り値 ntp_gettime () と ntp_gettimex () の戻り値は adjtim ... ... nt timerfd_settime(int fd , int flags , const struct itimerspec * new_value , struct itimerspec * old_value ); int timerfd_gettime(int fd , struct itimerspec * curr_value ); 説明 これらのシステムコールは、満了通知をファイルディスクリプター経由で配送する ... l (7) で監視できるという利点がある。 これらのシステムコールを使うのは、それぞれ timer_create (2), timer_settime (2), timer_gettime (2) を使うのと同様である ( timer_getoverrun (2) に対応するものはなく、以下で説明するように この機能は read (2) により提供さ ... クで、(システム時刻の手動での変更などの) システムクロックの不連続な変化の影響を受けない。 これらのクロックの現在の値は clock_gettime (2) を使って取得できる。 Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定することで、 timerfd_cr ... ... nt timerfd_settime(int fd , int flags , const struct itimerspec * new_value , struct itimerspec * old_value ); int timerfd_gettime(int fd , struct itimerspec * curr_value ); 説明 これらのシステムコールは、満了通知をファイルディスクリプター経由で配送する ... l (7) で監視できるという利点がある。 これらのシステムコールを使うのは、それぞれ timer_create (2), timer_settime (2), timer_gettime (2) を使うのと同様である ( timer_getoverrun (2) に対応するものはなく、以下で説明するように この機能は read (2) により提供さ ... クで、(システム時刻の手動での変更などの) システムクロックの不連続な変化の影響を受けない。 これらのクロックの現在の値は clock_gettime (2) を使って取得できる。 Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定することで、 timerfd_cr ... ... nt timerfd_settime(int fd , int flags , const struct itimerspec * new_value , struct itimerspec * old_value ); int timerfd_gettime(int fd , struct itimerspec * curr_value ); 説明 これらのシステムコールは、満了通知をファイルディスクリプター経由で配送する ... l (7) で監視できるという利点がある。 これらのシステムコールを使うのは、それぞれ timer_create (2), timer_settime (2), timer_gettime (2) を使うのと同様である ( timer_getoverrun (2) に対応するものはなく、以下で説明するように この機能は read (2) により提供さ ... クで、(システム時刻の手動での変更などの) システムクロックの不連続な変化の影響を受けない。 これらのクロックの現在の値は clock_gettime (2) を使って取得できる。 Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定することで、 timerfd_cr ... ... かや呼び出し元はどの CPU 上にいるかを問い合わせるための廃止予定の方法も参照している。 頻繁に使用されるシステムコールの一つが gettimeofday (2) である。 このシステムコールは、 ユーザー空間アプリケーションから直接呼び出されることも、 C ライブラリから間接的に ... できる。 したがって、 カーネルはこの質問に応えるのに必要な情報をプロセスがアクセスできるメモリー上に配置する。 これにより、 gettimeofday (2) はシステムコールから通常の関数コールになり、 少ないメモリーアクセスになる。 vDSO を見つける vDSO のベースアドレス ... というプレフィックスを付けるという慣習に従った名前付けを行っており、 他の標準のシンボルから区別することができる。 例えば、 "gettimeofday" 関数は ""__vdso_gettimeofday" という名前になっている。 これらの関数を呼び出す場合は標準の C の呼び出しの慣習にしたが ... ... librt ,\ -lrt ) 書式 #include < time.h > int clock_getres(clockid_t clockid , struct timespec *_Nullable res ); int clock_gettime(clockid_t clockid , struct timespec * tp ); int clock_settime(clockid_t clockid , const struct timespec * tp ); glibc 向け ... の機能検査マクロの要件 ( feature_test_macros (7) 参照): clock_getres (), clock_gettime (), clock_settime (): _POSIX_C_SOURCE >= 199309L 説明 関数 clock_getres () は 指定されたクロック clockid の分解能 (精度) を ... きません。 clock_settime () の引数 tp で指される時間の値が res の倍数でない場合、 res の倍数に切り詰められます。 関数 clock_gettime () と clock_settime () は、指定されたクロック clockid の時間を取得または設定します。 res と tp 引数は timespec (3) 構造体で ... ... librt ,\ -lrt ) 書式 #include < time.h > int clock_getres(clockid_t clockid , struct timespec *_Nullable res ); int clock_gettime(clockid_t clockid , struct timespec * tp ); int clock_settime(clockid_t clockid , const struct timespec * tp ); glibc 向け ... の機能検査マクロの要件 ( feature_test_macros (7) 参照): clock_getres (), clock_gettime (), clock_settime (): _POSIX_C_SOURCE >= 199309L 説明 関数 clock_getres () は 指定されたクロック clockid の分解能 (精度) を ... きません。 clock_settime () の引数 tp で指される時間の値が res の倍数でない場合、 res の倍数に切り詰められます。 関数 clock_gettime () と clock_settime () は、指定されたクロック clockid の時間を取得または設定します。 res と tp 引数は timespec (3) 構造体で ... ... librt ,\ -lrt ) 書式 #include < time.h > int clock_getres(clockid_t clockid , struct timespec *_Nullable res ); int clock_gettime(clockid_t clockid , struct timespec * tp ); int clock_settime(clockid_t clockid , const struct timespec * tp ); glibc 向け ... の機能検査マクロの要件 ( feature_test_macros (7) 参照): clock_getres (), clock_gettime (), clock_settime (): _POSIX_C_SOURCE >= 199309L 説明 関数 clock_getres () は 指定されたクロック clockid の分解能 (精度) を ... きません。 clock_settime () の引数 tp で指される時間の値が res の倍数でない場合、 res の倍数に切り詰められます。 関数 clock_gettime () と clock_settime () は、指定されたクロック clockid の時間を取得または設定します。 res と tp 引数は timespec (3) 構造体で ... ... libc 2.2. POSIX.1-2001. 注意 pid に 0 を指定して clock_getcpuclockid () を呼び出して得られたクロック ID を引数として clock_gettime (2) の呼び出すのは、 クロック ID CLOCK_PROCESS_CPUTIME_ID を使って clock_gettime (2) の呼び出すのと同じです。 例 以下のサン ... プルプログラムは、 コマンドラインで指定された ID を持つプロセスの CPU 時刻のクロック ID を取得し、 clock_gettime (2) を使ってそのクロックの時刻を取得します。 以下は実行例です。 $ ./a.out 1 # Show CPU clock of init process CPU-time cloc ... } if (clock_getcpuclockid(atoi(argv[1]), &clockid) != 0) { perror("clock_getcpuclockid"); exit(EXIT_FAILURE); } if (clock_gettime(clockid, &ts) == -1) { perror("clock_gettime"); exit(EXIT_FAILURE); } printf("CPU-time clock for PID %s is %jd.%09ld secon ... ... -2008. 注意 thread が呼び出したスレッドを参照している場合、 クロック ID CLOCK_THREAD_CPUTIME_ID が指定されていれば、 clock_gettime (2) と clock_settime (2) が操作するのと同じ時計 を参照する ID が返される。 例 以下のプログラムは、スレッドを作成し、それか ... ら clock_gettime (2) を使ってプロセス全体の CPU 時間を取得し、 pthread_getcpuclockid (3) を使って 2 つのスレッドが消費した スレッド毎の CPU ... \n"); for (;;) continue; } static void pclock(char *msg, clockid_t cid) { struct timespec ts; printf("%s", msg); if (clock_gettime(cid, &ts) == -1) handle_error("clock_gettime"); printf("%4jd.%03ld\n", (intmax_t) ts.tv_sec, ts.tv_nsec / 1000000); } int ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。