fixit7 Asked: 2018-08-12 10:27:40 +0800 CST2018-08-12 10:27:40 +0800 CST 2018-08-12 10:27:40 +0800 CST 使用 sleep 与分钟和秒 772 我知道如何使用 sleep 5m for 5 分钟。 我将如何使用它说 7 分 30 秒? command-line coreutils 4 个回答 Voted Best Answer PerlDuck 2018-08-12T10:34:37+08:002018-08-12T10:34:37+08:00 从手册页: 给定两个或多个参数,暂停由它们的值之和指定的时间量。 所以: sleep 7m 30s Ravexina 2018-08-12T10:37:11+08:002018-08-12T10:37:11+08:00 另一种方法是: sleep 7.5m man sleep 与大多数要求 NUMBER 为整数的实现不同,这里的 NUMBER 可以是任意浮点数。 WinEunuuchs2Unix 2018-08-12T20:53:30+08:002018-08-12T20:53:30+08:00 已经有两个很好的答案,但我想扩展一下。将下面的命令复制并粘贴到您的终端中: $ sleep 3d 5h 7m 30.05s & [1] 7321 这将启动第二个进程,该进程将休眠 3 天 5 小时 7 分钟 30.05 秒。就我而言,进程ID(PID)7321。 确认 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 第一个条目是我们感兴趣的条目。第二个条目是我在启动时运行的永久程序。第三个条目用于 grep 命令本身。 sleep现在要查看PID 生成的命令剩余多少时间(以秒为单位),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' } dschinn1001 2018-08-15T10:38:13+08:002018-08-15T10:38:13+08:00 命令 sleep 总是以秒为单位计数。您可以使用 ((7x60)+30) 秒,然后简单地键入: 睡眠 450
从手册页:
所以:
另一种方法是:
已经有两个很好的答案,但我想扩展一下。将下面的命令复制并粘贴到您的终端中:
这将启动第二个进程,该进程将休眠 3 天 5 小时 7 分钟 30.05 秒。就我而言,进程ID(PID)
7321
。确认 PID 使用
第一个条目是我们感兴趣的条目。第二个条目是我在启动时运行的永久程序。第三个条目用于 grep 命令本身。
sleep
现在要查看PID 生成的命令剩余多少时间(以秒为单位),7321
我们可以使用以下命令:如何确定“睡眠”中剩余的时间量?命令:您可以在
~/.bashrc
文件中包含的命令代码:命令 sleep 总是以秒为单位计数。您可以使用 ((7x60)+30) 秒,然后简单地键入: