2017年11月3日金曜日

at コマンドで秒を指定する方法

最近は cron がブイブイ言わせているようですが、1回きりの処理では at コマンドのほうがラクチンです。私は。

まぁ、そんなことはどうでもよくて、秒まできっちり指定したい場合には以下の方法が(環境によっては)使えるらしいです。

2017年12月01日15時00分30秒を指定したい場合。
$ at -t 201712011500.30
というように、「.」に続けて秒を指定すればOKらしいです。
-t オプションについてはググってください。

ただ、残念ながら Raspberry Pi の Raspbian では無視されてしまうようです。
(.30とか追加してもエラーにはならないが00秒で実行される)
なので実際に機能しているところは見たことありませんw

そもそも Raspberry Pi の Raspbian にはデフォで at コマンド入ってないので
$ sudo apt-get install at
する必要があります。

私は音声認識でタイマーをセットさせたかったので、0秒から59秒の sleep を含んだシェルを用意するという力技で解決しました。

2017年12月01日15時00分30秒を指定したい場合。
$ at -t 201712011500 -f ./timer30.sh
timer00.sh のなかには sleep と実行したいコマンドが記述されています。
かなり頭の悪い方法ですが cron でも使えるかもしれないです。(試してない)

つーか
$ at -t 201712011500 -f ./timer.sh 30
とかいう感じに引数指定できないんですか?
なんかいい方法あったら教えてください。

0 件のコメント:

コメントを投稿