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