tail head cat sleep
QR code linking to this page

manページ  — NANOSLEEP

名称

nanosleep – ナノ秒単位の間隔でプロセス実行を中断する

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <time.h>

int
nanosleep(const struct timespec *rqtp, struct timespec *rmtp);

解説

nanosleep() システムコールによってプロセスは指定の時間だけ休眠状態になります。 シグナルによる割り込み時の SA_RESTART 値に無関係に、マスクされていないシグナルがあると プロセスの休眠状態は早めに終了します。

戻り値

要求された時間が経過したために nanosleep() システムコールが戻った場合、返される値は 0 になります。

シグナルが配信されたために nanosleep() システムコールから戻った場合に返される値は -1 になり、割り込みを示すために グローバル変数 errno が設定されます。 rmtp NULL でない場合、それが参照する timespec 構造体は非休眠時間で更新されます (要求時間から、実際に休眠状態にあった時間を減算したものです)。

エラー

nanosleep() システムコールは、次の場合に失敗します:
[EFAULT]
  rqtp または rmtp のどちらかが、 プロセスに割り当てられたアドレス空間の範囲外のメモリを指しています。
[EINTR]
  nanosleep() システムコールはシグナルの配信によって割り込まれました。
[EINVAL]
  rqtp 引数に 0 未満か、10 億ナノ秒以上の値を指定しました。
[ENOSYS]
  nanosleep() システムコールはこのシステムではサポートされていません。

関連項目

sigsuspend(2), sleep(3)

規格

nanosleep() システムコールは IEEE Std 1003.1b-93 ("POSIX.1") に適合しています。

NANOSLEEP (2) April 17, 1997

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language.
— Donald Knuth