/proc/uptime in Mac OS X

2020-06-03 05:10发布

I need the EXACT same output as Linux's "cat /proc/uptime".

For example, with /proc/uptime, you'd get

1884371.64 38646169.12

but with any Mac alternative, like "uptime", you'd get

20:25 up 20:26, 6 users, load averages: 3.19 2.82 2.76

I need it to be exactly like cat /proc/uptime, but on Mac OS X.

标签: macos uptime
3条回答
对你真心纯属浪费
2楼-- · 2020-06-03 05:49
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

Will return something like 1 Day, 20 hours, 10 minutes, 55 seconds

查看更多
▲ chillily
3楼-- · 2020-06-03 05:52

Got it...

$sysctl -n kern.boottime | cut -c14-18
87988

Then I just converted that to readable format (don't remember how):

1 Days 00:26:28

查看更多
劫难
4楼-- · 2020-06-03 05:52

There simply is no "/proc" directory on the Macintosh.

On MacOS, you can do a command like:

sysctl kern.boottime 

and you'll get a response like:

kern.boottime: { sec = 1362633455, usec = 0 } Wed Mar  6 21:17:35 2013
查看更多
登录 后发表回答