Raspberry Piでマイクロ秒単位、ミリ秒単位のSleep
1秒より短いスリープを利用したい場面もあると思います。
「usleep」を利用しようとしましたが、Raspberry Piでは利用出来ませんでした。当然初期状態では、「sleepenh」もインストールされていませんでした。
root@raspberrypi:~# usleep -bash: usleep: コマンドが見つかりません root@raspberrypi:~# sleepenh -bash: sleepenh: コマンドが見つかりません
「sleepenh」のインストール実施
sleepenh利用時には、一秒以下は小数点で指定する必要があります。
root@raspberrypi:~# apt-get install sleepenh パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: libboost-system1.62.0 libboost-thread1.62.0 libreoffice-gtk2 これを削除するには 'apt autoremove' を利用してください。 以下のパッケージが新たにインストールされます: sleepenh アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。 8,912 B のアーカイブを取得する必要があります。 この操作後に追加で 26.6 kB のディスク容量が消費されます。 取得:1 http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian buster/main armhf sleepenh armhf 1.7-1 [8,912 B] 8,912 B を 2秒 で取得しました (3,950 B/s) 以前に未選択のパッケージ sleepenh を選択しています。 (データベースを読み込んでいます ... 現在 161139 個のファイルとディレクトリがインストールされています。) .../sleepenh_1.7-1_armhf.deb を展開する準備をしています ... Isleepenh (1.7-1) を展開しています... sleepenh (1.7-1) を設定しています ... man-db (2.8.5-2) のトリガを処理しています ... root@raspberrypi:~# sleepenh -h Usage: sleepenh [[--warp|-w] INITIALTIME] TIMETOSLEEP An enhanced sleep program. Options: -h, --help display this help and exit -w, --warp warp resulting timestamp, when there is no need to sleep. An immediately following call of sleepenh with the resulting TIMESTAMP would most probably result in a real sleep. -V, --version output version information and exit TIMETOSLEEP is in seconds, microsecond resolution, ex: 80.123456. INITIALTIME is the output value of a previous execution of sleepenh. root@raspberrypi:~# sleepenh 0.5 1563487094.854379 root@raspberrypi:~# sleepenh 1 1563487105.724811 root@raspberrypi:~# sleepenh 10 1563487119.604938 root@raspberrypi:~# exit exit Script done, file is sleepenh.log