我需要与Linux的"cat/proc/uptime"相同的EXACT输出。
例如,使用/proc/uptime,您将获得
1884371.64 38646169.12
但对于任何Mac替代方案,比如"正常运行时间",你都会得到
20:25上20:26,6个用户,平均负载:3.19 2.82 2.76
我需要它像cat/proc/uptime一样,但在Mac OS X上。
明白了…
$sysctl -n kern.boottime | cut -c14-18
87988
然后我只是将其转换为可读格式(不记得是如何转换的(:
1天00:26:28
Macintosh上根本没有"/proc"目录。
在MacOS上,您可以执行以下命令:
sysctl kern.boottime
你会得到这样的回复:
kern.boottime: { sec = 1362633455, usec = 0 } Wed Mar 6 21:17:35 2013
boottime=`sysctl -n kern.boottime | awk '{print $4}' | sed 's/,//g'`
unixtime=`date +%s`
timeAgo=$(($unixtime - $boottime))
uptime=`awk -v time=$timeAgo 'BEGIN { seconds = time % 60; minutes = int(time / 60 % 60); hours = int(time / 60 / 60 % 24); days = int(time / 60 / 60 / 24); printf("%.0f days, %.0f hours, %.0f minutes, %.0f seconds", days, hours, minutes, seconds); exit }'`
echo $uptime
将返回类似的内容1天20小时10分55秒
以下是我所做的获取值而不是Cut方法
sysctl kern.boottime | awk '{print $5}'
其中$5是字符串的范围
示例
$1 Gives you "sysctl kern.boottime"
$2 Gives you "{"
$3 Gives you "sec"
从字符串
kern.boottime: { sec = 1604030189, usec = 263821 } Fri Oct 30 09:26:29 2020