OsProcessInfo
Instances of this class are the result of calling OsNativeProcess>>info on a running process and contain information about the process at the time the request for info was made.
These infos can be cached, but keep in mind that some fields are temporal, and requeries should be done to make sure the its up to date.
Accessible A native process has a lifecycle of its own. A smalltalk handle may be available on a native process, but at any time that native process can terminate. An info is always answered from a OsNativeProcess>>info, but it should be discarded if OsProcessInfo>>ifAccessible is false.
There are some helpful apis that can be used just as
OsProcessInfo ifAccessible: []
or
OsProcessInfo ifAccessible: [] else: [].
Class Methods
from:convertToCodePage:
  Answer a new instance of process info

     Arguments:
        anInfoArray - <Array> primitive info array
        aBoolean - <Boolean> convert known UTF-8 strings to current codepage
     Answers:
        <OsProcessInfo>
Instance Methods
arguments
  Answer the arguments for the process

     Answers:
        <Array> of <String> or nil
command
  Answer the command name of the process

     Answers:
        <String> or nil
commandLine
  Answer the command line for the process

     Answers:
        <String> or nil
currentRss
  Answer the current resident set size (in bytes) for the process.

     The resident set size (RSS) is the amount of physical memory (RAM)
     held by a process

     Answers:
        <Integer> or nil
ifAccessible:
  If this info is accessible, then evaluate this info with @anAccessibleBlock
     Otherwise, answer nil

     Arguments:
        anAccessibleBlock - <Block> 0 or 1-arg that accepts this info
     Answers:   
        <Object> result of evaluating either @anAccessibleBlock
        <UndefinedObject> nil if info not accessible
ifAccessible:else:
  If this info is accessible, then evaluate this info with @anAccessibleBlock
     Otherwise, evaluate this info with @anElseBlock

     Arguments:
        anAccessibleBlock - <Block> 0 or 1-arg that accepts this info
        anElseBlock - <Block> 0 or 1-arg that accepts this info
     Answers:   
        <Object> result of evaluating either @anAccessibleBlock or @anElseBlock
isAccessible
  Processes that have terminated and cleaned-up all their resources may
     not be able to answer any information about themeselves which means
     it is not accessible.

     Answers:   
        <Boolean> true if accessible, false otherwise
maxRss
  Answer the maximum resident set size (in bytes) that
     has been held by the process.

     The resident set size (RSS) is the amount of physical memory (RAM)
     held by a process

     Answers:
        <Integer> or nil
startTime
  Answer the locale tz start time of the process.
     Use #startTimeUTC if you want the DateAndTime in
     terms of UTC

     Answers:
        <DateAndTime> or nil
startTimeUTC
  Answer the UTC start time of the process.
     Use #startTime if you want the
     result to be timezone local

     Answers:
        <DateAndTime> or nil
totalCpuDuration
  Answer the total time the processor has been activley
     used for this process

     Answers:
        <Duration> or nil
user
  Answer the user of the process

     Answers:
        <String> or nil
Last modified date: 02/23/2021