[squeak-dev] How to get rid of instances of ExternalUnixOSProcess

Herbert König herbertkoenig at gmx.net
Tue Feb 3 16:35:45 UTC 2015


Hi JohnReed,

thanks for your hint but PipeableOSProcess is in a different class 
hierarchy than ExternalUnixOSProcess.
I updated to the latest versions of OSProcess and CommandShell and it 
doesn't help.

I think I use   it the wrong way. Do you know of documentation other 
than the examples in the code?

Cheers,

Herbert

Am 03.02.2015 um 16:20 schrieb JohnReed Maffeo:
>> Sent: Tuesday, February 03, 2015 at 6:49 AM
>> From: "Herbert König" <herbertkoenig at gmx.net>
>> To: "The general-purpose Squeak developers list" <squeak-dev at lists.squeakfoundation.org>
>> Subject: [squeak-dev] How to get rid of instances of ExternalUnixOSProcess
>>
>> Hi,
>>
>> I start external OS processes via the class side method command:
>> The returned instances correctly show runState #complete but the
>> instances won't get garbage collected.
>> Pointer Finder gets me ThisOSProvess allMyChildren.
>>
>> I start the external program every few seconds so the instances accumulate.
>>
>> So should I manually send unregisterChildProcess: or should I reuse one
>> instance of ExternalUnixOSProcess via repeated forkChild  to restart the
>> program? Or something completely different?
>>
>> Thanks,
>>
>> Herbert
> David T. Lewis wrote to the beginners list,
> "Just an FYI - I just made some updates to PipeableOSProcess class>>command:
> so that it will do a better job of cleaning up pipe handles. You'll still need
> to keep an eye out for pipe handle leaks, but expressions like this should now
> close all pipes after processing is completed:
>
> (PipeableOSProcess command: '/bin/echo this is a test') output
>
> The updates are in the latest version of CommandShell on SqueakSource."
>
>
> jrm
>



More information about the Squeak-dev mailing list