#DOCUMENTATION by anharman
authoranharman
Tue, 10 Jul 2018 16:38:23 +0200
changeset 23204 1e76e9ae7986
parent 23203 8d74e1a4c65f
child 23206 e291c84f8f11
#DOCUMENTATION by anharman class: OSProcess comment/format in: #pid class: OSProcess class changed: #getTaskList (send #executableName:processID:sessionName: instead of #executableName:processID:userName:) class: OSProcess::ProcessListEntry class definition added: #executableName:processID:sessionName: #printOn: class: OSProcess::ProcessListEntry class added: #executableName:processID:sessionName:
OSProcess.st
--- a/OSProcess.st	Tue Jul 10 16:38:12 2018 +0200
+++ b/OSProcess.st	Tue Jul 10 16:38:23 2018 +0200
@@ -14,7 +14,7 @@
 !
 
 Object subclass:#ProcessListEntry
-	instanceVariableNames:'executableName processID userName'
+	instanceVariableNames:'executableName processID sessionName userName'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:OSProcess
@@ -307,7 +307,7 @@
                             s skipSeparators.
                             userName := s nextAlphaNumericWord.
 
-                            ProcessListEntry executableName:executableName processID:processID userName:userName
+                            ProcessListEntry executableName:executableName processID:processID sessionName:userName
                         ]
                         as:OrderedCollection.
         ^ entries
@@ -497,7 +497,10 @@
 !
 
 pid
-    "answer the pid of the process the command is running in or nil, if the command has not yet been started."
+    "answer the pid of the process the command is running in,
+     or nil if the command has not yet been started.
+     Notice: on Unix, the pid is an integer;
+     on Windows, it is a handle."
 
     ^ pid
 !
@@ -961,6 +964,10 @@
 
 !OSProcess::ProcessListEntry class methodsFor:'instance creation'!
 
+executableName:executableNameArg processID:processIDArg sessionName:sessionNameArg 
+    ^ self new executableName:executableNameArg processID:processIDArg sessionName:sessionNameArg 
+!
+
 executableName:executableNameArg processID:processIDArg userName:userNameArg 
     ^ self new executableName:executableNameArg processID:processIDArg userName:userNameArg 
 ! !
@@ -971,6 +978,12 @@
     ^ executableName
 !
 
+executableName:executableNameArg processID:processIDArg sessionName:sessionNameArg 
+    executableName := executableNameArg.
+    processID := processIDArg.
+    sessionName := sessionNameArg.
+!
+
 executableName:executableNameArg processID:processIDArg userName:userNameArg 
     executableName := executableNameArg.
     processID := processIDArg.
@@ -985,6 +998,12 @@
     ^ userName
 ! !
 
+!OSProcess::ProcessListEntry methodsFor:'printing & storing'!
+
+printOn:aStream
+    aStream nextPutAll:('(process: %1 pid: %2)' bindWith:executableName with:processID)
+! !
+
 !OSProcess::RemoteOSProcess class methodsFor:'documentation'!
 
 documentation