UNIX/Linuxの部屋 コマンド:usleep


※空白区切りで AND 検索 (例:「ファイル 削除」)

コマンド usleep 指定秒数だけ動作を止める (マイクロ秒単位)

usleep コマンドは、マイクロ秒単位での usleep を行う。
% usleep 1
→ 1マイクロ秒
% usleep 1000
→ 1ミリ秒
% usleep 1000000
→> 1秒

どうやら usleep コマンドは RedHat 系 Linux (RedHat や CentOS) の実装のようだ。Ubuntu では sleepenh コマンドがあるらしい。しかしながら、新しめの Linux の sleep コマンドでは、小数部の指定ができるのではないか?
なお、*BSD では sleep コマンドに小数部を指定することができる。
>> Linuxオンラインマニュアル(man) Linux usleep(3)

関数 usleep マイクロセカンド単位の sleep

sleep では 1秒単位でしか秒数を指定できないが、usleep では 100万分の1 秒単位で sleep 時間を指定できる。
#include <unistd.h>
usleep(100000); // 0.1 秒 sleep
usleep(2000000); // 2.0 秒 sleep
ただし、普通の PC/AT 互換機のタイマは、精度が 100分の1 秒単位であるから、usleep(1) で本当にきっかり 100万分の1 秒のウェイトが入ることは期待しない方がよい。

他に、select(3) を使う方法もある。

関連コマンドは sleep(1) または usleep(1)。


頑張って書いたおすすめコンテンツ!