Reinitialize processes?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Reinitialize processes?

Carl Gundel-2
Is there a simple way to kill all the forked Smalltalk processes and restart the UI process?
 
Thanks,
 
-Carl

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Reinitialize processes?

Instantiations mailing list
Hi Carl,

when you open a debugger, you have a menue entry "Processes", choose "Debug Other" and select the ones you want to kill.
They should then be displayed in the top list of the debugger and with a right click on one or several you will be able to terminate them.

Sebastian

Am 13.08.2014 10:32, schrieb Carl Gundel:
Is there a simple way to kill all the forked Smalltalk processes and restart the UI process?
 
Thanks,
 
-Carl
--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Reinitialize processes?

Carl Gundel-2
Thanks Sebastian.  I know about that.  I wasn't clear in my question. I'm wondering if there is a way to do this from a workspace by evaluating an expression.
 
-Carl

On Wednesday, August 13, 2014 1:36:30 PM UTC-4, Sebastian Heidbrink wrote:
Hi Carl,

when you open a debugger, you have a menue entry "Processes", choose "Debug Other" and select the ones you want to kill.
They should then be displayed in the top list of the debugger and with a right click on one or several you will be able to terminate them.

Sebastian

Am 13.08.2014 10:32, schrieb Carl Gundel:
Is there a simple way to kill all the forked Smalltalk processes and restart the UI process?
 
Thanks,
 
-Carl
--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;" href="javascript:" target="_blank" gdf-obfuscated-mailto="dV1ilneN9zEJ">va-smalltalk...@googlegroups.com.
To post to this group, send email to <a onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;" href="javascript:" target="_blank" gdf-obfuscated-mailto="dV1ilneN9zEJ">va-sma...@....
Visit this group at <a onmousedown="this.href='http://groups.google.com/group/va-smalltalk';return true;" onclick="this.href='http://groups.google.com/group/va-smalltalk';return true;" href="http://groups.google.com/group/va-smalltalk" target="_blank">http://groups.google.com/group/va-smalltalk.
For more options, visit <a onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;" href="https://groups.google.com/d/optout" target="_blank">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Reinitialize processes?

Richard Sargent
Administrator
On Wednesday, August 13, 2014 1:15:15 PM UTC-7, Carl Gundel wrote:
Thanks Sebastian.  I know about that.  I wasn't clear in my question. I'm wondering if there is a way to do this from a workspace by evaluating an expression.

Here is one example. It doesn't do what you want, but it should set you on the path. There are two parts to it. 1) Determine which processes you want to play with. 2) Do something to each such process. Use #terminate to kill a process, but be aware of unintended consequences. Killing a process that is busy doing something may break things. In general, I would say the probability is low, but it is non-zero.


| broken |
broken
:= (Processor availableProcessesExcept: #())
   
select: [:each | each isSuspended and: [each processName beginsWith: 'Idle ']].
broken
do: [:process |
   
| frame |
    frame
:= process framesDetect: [:each | each method selector == #finalizedSlot:removedObject:] ifNone: ['no such frame'].
    frame
~= 'no such frame' ifTrue: [
        frame dropToFrame
.
        process resume
.
   
].
].

 

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Reinitialize processes?

Carl Gundel-2
Thanks Richard for the interesting example.
 
I realize that mechanisms for managing processes must be well designed and robust.  My need is simply to have something helpful for use when developing to knock processes over the head when things go wrong and I don't want to take the time to reload the image and start again from zero.
 
Thanks again,
 
-Carl

On Wednesday, August 13, 2014 6:47:18 PM UTC-4, Richard Sargent wrote:
On Wednesday, August 13, 2014 1:15:15 PM UTC-7, Carl Gundel wrote:
Thanks Sebastian.  I know about that.  I wasn't clear in my question. I'm wondering if there is a way to do this from a workspace by evaluating an expression.

Here is one example. It doesn't do what you want, but it should set you on the path. There are two parts to it. 1) Determine which processes you want to play with. 2) Do something to each such process. Use #terminate to kill a process, but be aware of unintended consequences. Killing a process that is busy doing something may break things. In general, I would say the probability is low, but it is non-zero.


| broken |
broken
:= (Processor availableProcessesExcept: #())
   
select: [:each | each isSuspended and: [each processName beginsWith: 'Idle ']].
broken
do: [:process |
   
| frame |
    frame
:= process framesDetect: [:each | each method selector == #finalizedSlot:removedObject:] ifNone: ['no such frame'].
    frame
~= 'no such frame' ifTrue: [
        frame dropToFrame
.
        process resume
.
   
].
].

 

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.