Objective c 有没有办法知道上次启动OSX花了多少时间?
有没有办法以编程方式(目标C/C)获得OS X上次启动的时间?例如,上一次启动OSX需要30秒。所以我在前一段时间做了这项工作,以便在Geek工具中显示它。我最初希望在Objective-C中实现它,但在Python中实现起来要容易得多:Objective c 有没有办法知道上次启动OSX花了多少时间?,objective-c,macos,cocoa,boot,Objective C,Macos,Cocoa,Boot,有没有办法以编程方式(目标C/C)获得OS X上次启动的时间?例如,上一次启动OSX需要30秒。所以我在前一段时间做了这项工作,以便在Geek工具中显示它。我最初希望在Objective-C中实现它,但在Python中实现起来要容易得多: import time import subprocess import re currentTime = time.time() p = subprocess.Popen('sysctl kern.boottime', shell=True, stdout
import time
import subprocess
import re
currentTime = time.time()
p = subprocess.Popen('sysctl kern.boottime', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in p.stdout.readlines():
bootTime = line
break
p = re.compile('\d+')
bootTime = p.findall(bootTime)[0]
uptime = int(currentTime) - int(bootTime)
不完全是您想要的,但是您可以从Objective-C调用这个脚本,或者正如您所看到的,您调用的命令是
sysctl kern.boottime
,它返回类似于:kern.boottime:{sec=1382617144,usec=0}2013年10月24日星期四13:19:04
你是说上次开机?难道你不能通过popen
运行正常运行时间
并解析输出吗?胡说八道;如果OP想要自上次启动时间起的时间,那么使用sysctl(3)
并获取kern.boottime
是一种更好的方法。你们看了sysctl(3)了吗?请再读一遍这个主题。我需要上次OSX启动过程花费的时间。(不是上次开机的时间)。例如,上一次OS X启动只花了10秒钟。kern.boottime没有这样的信息。你可能应该把你的问题说得更清楚。听起来你想知道上次开机以来的时间。