美文网首页码源
获取OS X系统信息

获取OS X系统信息

作者: 李书文 | 来源:发表于2015-11-20 13:18 被阅读156次

最近因为工作需要,需要获取比较详细的Macintosh的系统信息。几番查找,找到一个比较行之有效的方法,记录一下。

实际上就是实用系统自带的Tool:system_profiler

获取用法

$ system_profiler -usage 

获取可以查询的Data Types

$ system_profiler -listDataTypes

按照需要获取的信息,依次添加 Data Type就可以获得相关的信息。
比如要获得Hardware Overview 和 System Software Overview:

$ system_profiler SPSoftwareDataType SPHardwareDataType

就会返回相关的信息了。

在代码中,可以直接使用 NSTask 来启动这个命令,可以重定向标准输出获取最终的输出结果:

NSTask *task = [[[NSTask alloc] init] autorelease];
[task setLaunchPath:@"/usr/sbin/system_profiler"];
[task setArguments:@[@"SPSoftwareDataType", @"SPHardwareDataType"]];
NSPipe *outputPipe = [NSPipe pipe];
[task setStandardOutput:outputPipe];
[task launch];
[task waitUntilExit];
[task release];

NSFileHandle * read = [outputPipe fileHandleForReading];
NSData * dataRead = [read readDataToEndOfFile];
NSString * stringRead = [[[NSString alloc] initWithData:dataRead encoding:NSUTF8StringEncoding] autorelease];
NSLog(@"output: %@", stringRead);

如果感觉单纯的字符串不好处理,可以加 -xml 来输出成 xml的格式。

Update 2015-11-26:
NSTask 的命令需要全路径,否则会提示system_profiler找不到,用

$ whereis system_profiler

找到 system_profiler的路径,就可以正常运行了

相关文章

  • 获取OS X系统信息

    最近因为工作需要,需要获取比较详细的Macintosh的系统信息。几番查找,找到一个比较行之有效的方法,记录一下。...

  • android系统软硬件信息获取

    Android系统信息获取 在android中,我们要获取系统信息,主要通过两个方面获取 android.os.B...

  • Python学习笔记(4)常用模块

    4. 常用模块 os模块 系统相关 os.name:# 操作系统类型 os.uname():获取详细的系统信息(W...

  • Android 系统信息

    1.android系统信息获取 1.1 android.os.Build Build.BOARD ...

  • Python基础 os模块 常用文件操作

    os 模块代表了程序所在的操作系统,主要用于获取程序运行所在操作系统的相关信息。 使用:导入 import os ...

  • Mac OS X 简介

    一、Mac OS X系统介绍 1. Mac OS X系统简介: 1、Mac OS是一套运行于苹果Macintosh...

  • 代码

    获取指定文件夹下的文件夹目录import os.pathsub_dirs = [x[0] for x in os....

  • ReactNative环境配置

    环境配置(Mac系统下) 安装HomebrewHomebrew是OS X的套件(包)管理器,我们可以通过它获取并且...

  • 刷新mac DNS 缓存 2020-08-10

    Mac OS X 清除DNS缓存根据Mac OS X操作系统的版本选择以下命令: Mac OS X 12 (Sie...

  • [Node.js]在mac上安装node.js

    本文介绍如何在mac的OS X系统上安装node。 环境 操作系统:MAC OS X IDE:WebStorm 概...

网友评论

    本文标题:获取OS X系统信息

    本文链接:https://www.haomeiwen.com/subject/nmvlhttx.html