陈斌彬的技术博客

Stay foolish,stay hungry

NSProcessInfo 获取进程信息

NSProcessInfo类方法

+(NSProcessInfo*)processInfo  //返回当前进程的信息

-(NSArray*)arguments  //以NSString对象数组的形式返回当前进程的参数

-(NSDictionary *)environment  //返回变量/值对词典,以描述当前的环境变量(比如PATH和HOME)及其值

-(int)processIdentifier  //返回进程标识符,它是操作系统赋予进程的唯一数字,用于识别每个正在运行的进程

-(NSString*)processName  //返回当前正在执行的进程名称

-(NSString *)globallyUniqueString  //每次调用这个方法时,都返回不同的单值字符串,可以用这个字符串生成单值临时文件名

-(NSString *)hostname  //返回主机系统的名称(在笔者的Mac OS x系统中,返回的是mac-mato-ipad.local)

-(NSUInteger)operatingSystem  //返回表示操作系统的数字(在笔者的Mac OS x系统中,返回的是5)

-(NSString *)operatingSystemName  //返回操作系统的名称(笔者的Mac OS x系统中返回NSMACHOperatingSystem,可能返回的值定义在NSProgressInfo.h文件中)

-(NSString *)operatingSystemVersionString  //返回操作系统的当前版本(笔者的Mac OS x系统中返回Version 10.7.5 (Build 11G56))

-(void)setProcessName:(NSString *)name  //将当前进程名称设置为name。应该谨慎地使用这个方法,应为关于进程名称存在一些假设(比如用户默认的设置)

实例:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    NSProcessInfo *info = [NSProcessInfo processInfo];

    NSLog(@"%@---\n%lu----\n%d----\n%@----\n%@----\n%@---\n%@----\n%lu------\n%@----\n%@",
          info.processName,
          (unsigned long)info.processorCount,
          info.processIdentifier,
          info.arguments,
          info.hostName,
          info.environment,
          info.globallyUniqueString,
          (unsigned long)info.operatingSystem,
          info.operatingSystemVersionString,info.operatingSystemName);

    NSLog(@" name:%@\n systemName:%@\n systemVersion:%@\n model:%@\n localizedModel:%@\n butteryLevel:%.1f\n",

          [UIDevice currentDevice].name,
          [UIDevice currentDevice].systemName,
          [UIDevice currentDevice].systemVersion,
          [UIDevice currentDevice].model,
          [UIDevice currentDevice].localizedModel,
          [UIDevice currentDevice].batteryLevel*100
          );        
    return YES;
}