有没有办法确定(在bash中)在指定时间内运行的进程剩余多少时间?
例如,执行
后的一段时间caffeinate -s -t 8000 &
是否有命令或技术来确定何时允许我的系统进入睡眠状态?
答案 0 :(得分:2)
Bash不会知道caffeinate
附有计时器;据他所知,-t
是指您在五分钟后退出流程之前将亚马逊订购红牛的次数。
但是,如果您知道这一点,则可以检测命令何时启动并自行完成数学运算。
$ sleep 45 &
[1] 16065
$ ps -o cmd,etime
CMD ELAPSED
sleep 45 00:03
ps -o cmd,etime 00:00
/bin/bash 6-21:11:11
在OS X上,这将是ps -o command,etime
;有关详细信息和其他开关/选项,请参阅FreeBSD ps
man page或Linux ps
docs。