Linux 发出时间命令
当我运行几个后台作业时,我需要为这组作业获取一个运行时。 我成功地使用了以下示例:Linux 发出时间命令,linux,centos7,Linux,Centos7,当我运行几个后台作业时,我需要为这组作业获取一个运行时。 我成功地使用了以下示例: $ sleep 10 & $ time wait real 0m9.74s user 0m0.00s sys 0m0.00s 但是,如果尝试将输出格式化为秒,则会出现以下错误: $ time -f %e wait time: cannot run wait: No such file or directory 0.00 这似乎只发生在shell内置的情况下。有解决办法吗?这里的问题
$ sleep 10 &
$ time wait
real 0m9.74s
user 0m0.00s
sys 0m0.00s
但是,如果尝试将输出格式化为秒,则会出现以下错误:
$ time -f %e wait
time: cannot run wait: No such file or directory
0.00
这似乎只发生在shell内置的情况下。有解决办法吗?这里的问题有两个方面
- 我们不知道您使用的是内置bash(假设您使用的是centos默认shell)还是二进制
命令time
- 在这两种情况下,
都是内置的bashwait
/usr/bin/time -f %e bash -c wait
TIMEFORMAT="%pR" time bash -c wait
尝试TIMEFORMAT环境通常,如果您想为内置的shell计时,可以执行类似“time/bin/bash-c'wait'”的操作。不幸的是,在这种情况下,等待正在等待与其运行的shell相关联的子进程,不是您在shell之外启动的后台进程。这里的
bash-c wait
有什么用?@Narfanarwait
是bash内置的,time
无法在路径中找到它来执行。查看OP发布的错误消息。但这不会产生子shell吗?为什么要等待我在父shell中开始的工作?不会的,我只是想向他解释为什么时间等待不起作用。