Class MacOperatingSystem

java.lang.Object
oshi.software.common.AbstractOperatingSystem
oshi.software.os.mac.MacOperatingSystem
All Implemented Interfaces:
OperatingSystem
Direct Known Subclasses:
MacOperatingSystemJNA

@ThreadSafe public abstract class MacOperatingSystem extends AbstractOperatingSystem
macOS, previously Mac OS X and later OS X) is a series of proprietary graphical operating systems developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers.
  • Field Details

    • MACOS_VERSIONS_PROPERTIES

      public static final String MACOS_VERSIONS_PROPERTIES
      See Also:
    • maxProc

      protected final int maxProc
    • osXVersion

      protected final String osXVersion
    • major

      protected final int major
    • minor

      protected final int minor
  • Constructor Details

    • MacOperatingSystem

      protected MacOperatingSystem(int maxproc)
  • Method Details

    • queryManufacturer

      public String queryManufacturer()
      Specified by:
      queryManufacturer in class AbstractOperatingSystem
    • parseCodeName

      protected String parseCodeName()
    • queryBitness

      protected int queryBitness(int jvmBitness)
      Description copied from class: AbstractOperatingSystem
      Backup OS-specific query to determine bitness if previous checks fail
      Specified by:
      queryBitness in class AbstractOperatingSystem
      Parameters:
      jvmBitness - The bitness of the JVM
      Returns:
      The operating system bitness
    • queryChildProcesses

      public List<OSProcess> queryChildProcesses(int parentPid)
      Specified by:
      queryChildProcesses in class AbstractOperatingSystem
    • queryDescendantProcesses

      public List<OSProcess> queryDescendantProcesses(int parentPid)
      Specified by:
      queryDescendantProcesses in class AbstractOperatingSystem
    • getThreadId

      public int getThreadId()
      Description copied from interface: OperatingSystem
      Makes a best effort to get the current thread ID (TID). May not be useful in a multithreaded environment. The thread ID returned may have been short lived and no longer exist.

      Thread IDs on macOS are not correlated with any other Operating System output.

      Returns:
      the Thread ID of the current thread if known, 0 otherwise.
    • getCurrentThread

      public OSThread getCurrentThread()
      Description copied from interface: OperatingSystem
      Makes a best effort to get the current thread. May not be useful in a multithreaded environment. The thread returned may have been short lived and no longer exist.

      On macOS, returns the oldest thread in the calling process.

      Returns:
      the current thread if known; an invalid thread otherwise.
    • getSystemUptime

      public long getSystemUptime()
      Description copied from interface: OperatingSystem
      Get the System up time (time since boot).
      Returns:
      Number of seconds since boot.
    • getServices

      public List<OSService> getServices()
      Description copied from interface: OperatingSystem
      Gets the all services on the system. The definition of what is a service is platform-dependent.
      Returns:
      An array of OSService objects
    • getInstalledApplications

      public List<ApplicationInfo> getInstalledApplications()
      Description copied from interface: OperatingSystem
      Retrieves a list of installed applications on the system.

      This method is implemented per OS. If the OS does not support this feature, it returns an empty list.

      Returns:
      A list of installed applications or an empty list if unsupported.