// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// ==================================================================
//  CIM_UnixProcess 
// ==================================================================
   [Version ( "2.6.0" ), 
    UMLPackagePath ( "CIM::System::Unix" ), 
    Description ( 
       "Each instance of the CIM_UnixProcess class represents a single "
       "instance of a running program. A user of the Operating System "
       "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_UnixProcess : CIM_Process {

      [Required, Description ( 
          "The parent process ID of this executing process." ), 
       MappingStrings { "MIF.DMTF|Process Information|001.2" }]
   string ParentProcessID;

      [Required, Description ( 
          "The Real User ID of this currently executing process." ), 
       MappingStrings { "MIF.DMTF|Process Information|001.4" }]
   uint64 RealUserID;

      [Required, Description ( 
          "The Group ID of this currently executing process." ), 
       MappingStrings { "MIF.DMTF|Process Information|001.2" }]
   uint64 ProcessGroupID;

      [Description ( 
          "If part of a group of processes are under the control of "
          "a session leader, this property holds the session ID for "
          "the group." )]
   uint64 ProcessSessionID;

      [Description ( 
          "The TTY currently associated with this process." ), 
       MappingStrings { "MIF.DMTF|Process Information|001.5" }]
   string ProcessTTY;

      [Description ( "The executing process\'s command path." ), 
       MappingStrings { "MIF.DMTF|Process Information|001.7" }]
   string ModulePath;

      [Description ( 
          "The operating system parameters provided to the "
          "executing process. These are the argv[] values." ), 
       MappingStrings { "MIF.DMTF|Process Information|001.8" }]
   string Parameters[];

      [Description ( 
          "The process\'s \'nice\' value. Used to compute its priority."
           ), 
       MappingStrings { "MIF.DMTF|Process Information|001.11" }]
   uint32 ProcessNiceValue;

      [Description ( 
          "A description of the event this process is currently "
          "sleeping for. The precise nature of this string is "
          "implementation defined, but is typically the address of "
          "a system data structure that will be modified when the "
          "event occurs. This string only has meaning when the "
          "ExecutionState is \"Blocked\" or \"SuspendedBlocked\"." ), 
       ModelCorrespondence { "CIM_Process.ExecutionState" }]
   string ProcessWaitingForEvent;


};
