NSProcessInfo 系统进程信息

前言

  • NSProcessInfo 系统进程信息

    • Objective-C

      1
      @interface NSProcessInfo : NSObject
    • Swift

      1
      public class NSProcessInfo : NSObject
    • NSProcessInfo 类中包含一些方法,允许你设置或检索正在运行的应用程序(即进程)的各种类型的信息。

1、获取系统进程信息

  • Objective-C

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    // 创建系统进程信息对象
    NSProcessInfo *processInfo = [NSProcessInfo processInfo];

    // 返回当前进程的参数
    /*
    以 NSString 对象数组的形式返回当前进程的参数
    */
    NSArray *processArguments = [processInfo arguments];

    // 返回当前的环境变量
    NSDictionary *processEnvironment = [processInfo environment];

    // 返回进程标识符
    int processId = [processInfo processIdentifier];

    // 返回进程数量
    NSUInteger processCount = [processInfo processorCount];

    // 返回活动的进程数量
    NSUInteger activeProcessCount = [processInfo activeProcessorCount];

    // 返回正在执行的进程名称
    NSString *processName = [processInfo processName];

    // 生成单值临时文件名
    /*
    每次调用这个方法时,都返回不同的单值字符串,可以用这个字符串生成单值临时文件名
    */
    NSString *uniqueString = [processInfo globallyUniqueString];

    // 返回主机系统的名称
    NSString *hostName = [processInfo hostName];

    // 返回操作系统的版本号
    NSOperatingSystemVersion osVerson = [processInfo operatingSystemVersion];

    // 返回操作系统名称
    NSString *osName = [processInfo operatingSystemVersionString];

    // 设置当前进程名称
    /*
    应当谨慎的使用这个方法因为关于进程名称存在一些假设
    */
    [processInfo setProcessName:@"test"];

    // 判断系统版本是否高于某个版本
    NSOperatingSystemVersion opsVession = {10, 10, 4};
    BOOL bl = [processInfo isOperatingSystemAtLeastVersion:opsVession];

    // 返回系统运行时间
    NSTimeInterval timeInterval = [processInfo systemUptime];
  • Swift

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    // 创建系统进程信息对象
    let processInfo: NSProcessInfo = NSProcessInfo.processInfo()

    // 返回当前进程的参数
    /*
    以 NSString 对象数组的形式返回当前进程的参数
    */
    let processArguments: NSArray = processInfo.arguments

    // 返回当前的环境变量
    let processEnvironment: NSDictionary = processInfo.environment

    // 返回进程标识符
    let processId: Int32 = processInfo.processIdentifier

    // 返回进程数量
    let processCount: Int = processInfo.processorCount

    // 返回活动的进程数量
    let activeProcessCount: Int = processInfo.activeProcessorCount

    // 返回正在执行的进程名称
    let processName: String = processInfo.processName

    // 生成单值临时文件名
    /*
    每次调用这个方法时,都返回不同的单值字符串,可以用这个字符串生成单值临时文件名
    */
    let uniqueString: String = processInfo.globallyUniqueString

    // 返回主机系统的名称
    let hostName: String = processInfo.hostName

    // 返回操作系统的版本号
    let osVerson: NSOperatingSystemVersion = processInfo.operatingSystemVersion

    let majorVersion: Int = osVerson.majorVersion
    let minorVersion: Int = osVerson.minorVersion
    let patchVersion: Int = osVerson.patchVersion

    // 返回操作系统名称
    let osName: String = processInfo.operatingSystemVersionString

    // 设置当前进程名称
    /*
    应当谨慎的使用这个方法因为关于进程名称存在一些假设
    */
    processInfo.processName = "test"

    // 判断系统版本是否高于某个版本
    let opsVession: NSOperatingSystemVersion = NSOperatingSystemVersion(majorVersion: 10,
    minorVersion: 10,
    patchVersion: 4)

    let bl: Bool = processInfo.isOperatingSystemAtLeastVersion(opsVession)

    // 返回系统运行时间
    let timeInterval: NSTimeInterval = processInfo.systemUptime
文章目录
  1. 1. 前言
  2. 2. 1、获取系统进程信息
隐藏目录