分と秒でスリープを使用する


15

私は5分間5mの睡眠を使用する方法を知っています。

たとえば、7分30秒でどのように使用しますか?

回答:


31

マンページから:

2つ以上の引数がある場合、それらの値の合計で指定され時間だけ一時停止します

そう:

sleep 7m 30s

2
ニース、私はもっと慎重にmanページを読むために持っている...
Ravexina

4
これはbash組み込みのGNUのsleep 動作であることに注意してください 。POSIXly、sleep整数を秒として理解するためにのみ必要です
Sergiy Kolodyazhnyy

17

これを行う別の方法は次のとおりです。

sleep 7.5m

man sleep

NUMBERが整数である必要があるほとんどの実装とは異なり、ここでNUMBERは任意の浮動小数点数です。


10

すでに2つの優れた答えがありますが、少し拡大したいと思います。以下のコマンドをコピーして端末に貼り付けます。

$ sleep 3d 5h 7m 30.05s &
[1] 7321

これにより、3日、5時間、7分30.05秒スリープする2番目のプロセスが開始されます。7321私の場合、プロセスID(PID)です。

PIDの使用を確認するには

$ ps aux | grep sleep
rick      7321  0.0  0.0  14356   660 pts/2    S    22:40   0:00 sleep 3d 5h 7m 30.05s
root     12415  0.0  0.0  14356   700 ?        S    22:41   0:00 sleep 60
rick     12500  0.0  0.0  21292   968 pts/2    R+   22:41   0:00 grep --color=auto sleep

最初のエントリは、興味のあるエントリです。2番目のエントリは、起動時に実行している永続的なプログラム用です。3番目のエントリは、grepコマンド自体用です。

sleepPIDによって生成されたコマンドの残り時間(秒単位)7321を確認するために、これを使用できます。「スリープ」に残っている時間を確認する方法 コマンド:

$ remaining_sleep_time 7321
277304.05
$ remaining_sleep_time 7321
277296.05
$ remaining_sleep_time 7321
277262.05

~/.bashrcファイルに含めることができるコマンドのコード:

remaining_sleep_time() { # arg: pid
  ps -o etime= -o args= -p "$1" | perl -MPOSIX -lane '
    %map = qw(d 86400 h 3600 m 60 s 1);
    $F[0] =~ /(\d+-)?(\d+:)?(\d+):(\d+)/;
    $t = -($4+60*($3+60*($2+24*$1)));
    for (@F[2..$#F]) {
      s/\?//g;
      ($n, $p) = strtod($_);
      $n *= $map{substr($_, -$p)} if $p;
      $t += $n
    }
    print $t'
}

残り時間が機能していません。andy @ 7_〜$ remaining_sleep_time 7321 remaining_sleep_time:コマンドが見つかりません
fixit7

1
@ fixit7 remaining_sleep_time~/.bashrc、リンクに従ってファイルにコピーする必要があります。コードをbashスクリプトファイルに入れることもできます。
WinEunuuchs2Unix

5

コマンドのスリープは常に秒単位でカウントされます。((7x60)+30)秒を使用して、単純に入力できます:

睡眠450


3
述べたように、以前に、睡眠は確かに常に秒を理解しますが、GNUの睡眠とBashシェル(kshのないことを確認し、zshの程度)の場合には-他の回答で述べたように、これらはまた、文字の引数を許します。あなたの答えは、シェル算術展開を使用することで改善される可能性があるので、次のようなものsleep $((60*7))を数分間使用できます
Sergiy Kolodyazhnyy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.