// Copyright (c) 2005 DMTF. All rights reserved. // Unix Process Priority Correction // Add UmlPackagePath // qualifier values to CIM Schema. // ================================================================== // CIM_Process // ================================================================== [Version ( "2.10.0" ), UMLPackagePath ( "CIM::System::Processing" ), Description ( "Each instance of the CIM_Process class represents a single " "instance of a running program. A user of the OperatingSystem " "will typically see a Process as an application or task. Within " "an OperatingSystem, a Process is defined by a workspace of " "memory resources and environmental settings that are allocated " "to it. On a multitasking System, this workspace prevents " "intrusion of resources by other Processes. Additionally, a " "Process can execute as multiple Threads, all which run within " "the same workspace." )] class CIM_Process : CIM_EnabledLogicalElement { [Key, Description ( "The scoping ComputerSystem\'s CreationClassName." ), MaxLen ( 256 ), Propagated ( "CIM_OperatingSystem.CSCreationClassName" )] string CSCreationClassName; [Key, Description ( "The scoping ComputerSystem\'s Name." ), MaxLen ( 256 ), Propagated ( "CIM_OperatingSystem.CSName" )] string CSName; [Key, Description ( "The scoping OperatingSystem\'s CreationClassName." ), MaxLen ( 256 ), Propagated ( "CIM_OperatingSystem.CreationClassName" )] string OSCreationClassName; [Key, Description ( "The scoping OperatingSystem\'s Name." ), MaxLen ( 256 ), Propagated ( "CIM_OperatingSystem.Name" )] string OSName; [Key, Description ( "CreationClassName indicates the name of the class or the " "subclass used in the creation of an instance. When used " "with the other key properties of this class, this " "property allows all instances of this class and its " "subclasses to be uniquely identified." ), MaxLen ( 256 )] string CreationClassName; [Key, Description ( "A string used to identify the Process. A Process ID is a " "kind of Process Handle." ), MaxLen ( 256 ), MappingStrings { "MIF.DMTF|Process Information|001.1" }] string Handle; [Override ( "Name" ), Description ( "The name of the process." ), MappingStrings { "MIF.DMTF|Process Information|001.6" }] string Name; [Description ( "Priority indicates the urgency or importance of " "execution of a Process. Lower values reflect more " "favorable process scheduling. If a priority is not " "defined for a Process, a value of 0 should be used." ), MappingStrings { "MIF.DMTF|Process Information|001.10" }] uint32 Priority; [Description ( "Indicates the current operating condition of the " "Process. Values include ready (2), running (3), and " "blocked (4), among others. The majority of the " "enumerated values are obvious. However, a few require " "additional explanation: \n" "7 (Terminated) describes that a process has naturally " "completed \n" "8 (Stopped) describes that a process has been " "prematurely \'stopped\' by a user or other request \n" "10 (Ready but Relinquished Processor) describes that a " "process is in the Ready state, but has voluntarily " "relinquished execution time to other processes. For " "example, this state may indicate a problem when the " "relinquishing process is not handling items on its " "queues. If these semantics cannot be detected, the " "process should report its state as 2 (\"Ready\"). \n" "11 (Hung) indicates that a process is not responding and " "should therefore not be given further execution time." ), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11" }, Values { "Unknown", "Other", "Ready", "Running", "Blocked", "Suspended Blocked", "Suspended Ready", "Terminated", "Stopped", "Growing", "Ready But Relinquished Processor", "Hung" }, MappingStrings { "MIF.DMTF|Process Information|001.9", "MIF.UNIX|Process Information|13.9" }] uint16 ExecutionState; [Description ( "A string describing the state - used when the instance\'s " "ExecutionState property is set to 1 (\"Other\"). Other " "ExecutionDescription should be set to NULL when the " "Execution State property is any value other than 1." )] string OtherExecutionDescription; [Description ( "Time that the Process began executing." )] datetime CreationDate; [Description ( "Time that the Process was stopped or terminated." )] datetime TerminationDate; [Description ( "Time in kernel mode, in milliseconds. If this " "information is not available, or if the operating system " "does not distinguish between time in kernel and in user " "mode, a value of 0 should be used." ), Units ( "MilliSeconds" ), MappingStrings { "MIF.DMTF|Process Information|001.13" }] uint64 KernelModeTime; [Description ( "Time in user mode, in milliseconds. If this information " "is not available, a value of 0 should be used. If the " "operating system does not distinguish between time in " "kernel mode and user mode, the time should be returned " "in this property." ), Units ( "MilliSeconds" ), MappingStrings { "MIF.DMTF|Process Information|001.14" }] uint64 UserModeTime; [Description ( "The amount of memory in bytes that a Process needs to " "execute efficiently, for an OperatingSystem that uses " "page-based memory management. If an insufficient amount " "of memory is available (< working set size), thrashing " "will occur. If this information is not known, NULL or 0 " "should be entered. If this data is provided, it could be " "monitored to understand a Process\' changing memory " "requirements as execution proceeds." ), Units ( "Bytes" ), Gauge] uint64 WorkingSetSize; };