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

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




コマンド 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)。