Mac OS X中的/ proc/uptime

rta*_*inc 8 macos uptime

我需要与Linux的"cat/proc/uptime"完全相同的输出.

例如,使用/ proc/uptime,你就可以得到

1884371.64 38646169.12

但是对于任何Mac替代品,比如"正常运行时间",你会得到

20:25 up 20:26,6位用户,平均负载:3.19 2.82 2.76

我需要它与cat/proc /正常运行时间完全相同,但在Mac OS X上.

rta*_*inc 8

得到它了...

$sysctl -n kern.boottime | cut -c14-18
87988
Run Code Online (Sandbox Code Playgroud)

然后我把它转换成可读格式(不记得怎么样):

1天00:26:28

  • 这个答案有一个小问题。您的“剪切”使字符在固定位置之间(从14到18)。这对您来说很有效,因为您的系统没有长时间运行,但是对我来说却引起了问题。我修改了`cut`命令来解决这个小问题。`sysctl -n kern.boottime | 切-f4 -d''| 切-d','-f1`。 (3认同)

小智 6

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
Run Code Online (Sandbox Code Playgroud)

将返回类似 1 天、20 小时、10 分钟、55 秒的内容


Mic*_*ann 5

在Macintosh上根本没有“ / proc”目录。

在MacOS上,您可以执行以下命令

sysctl kern.boottime 
Run Code Online (Sandbox Code Playgroud)

您会收到类似以下的响应:

kern.boottime: { sec = 1362633455, usec = 0 } Wed Mar  6 21:17:35 2013
Run Code Online (Sandbox Code Playgroud)