[Newbies] Re: Canceling a PipeableOSProcess
David T. Lewis
lewis at mail.msen.com
Sat Nov 5 01:02:37 UTC 2011
On Fri, Nov 04, 2011 at 05:30:30PM -0700, Sean P. DeNigris wrote:
>
> David T. Lewis wrote:
> >
> > You can kill the external process with a unix signal like this:
> > p processProxy terminate.
> >
> Cool, thanks.
>
>
> David T. Lewis wrote:
> >
> > However, in general, it is better to permit the external process to exit
> > normally.
> >
> Better how? On the Unix side, or the Squeak side?
>
>
> David T. Lewis wrote:
> >
> > Note that it is
> > entirely possible to send the exact equivalent of ctrl-c (which is a
> > unix SIGINT signal sent to the process)
> >
> I'll have to take a look. I was asking because I am calling Mac OS X's
> hdiutil, which can take ~5-10 minutes to run, and sometimes I want to cancel
> the op. I mentioned Ctrl-c specifically because I know it responds to it; on
> the CLI, it gives a message about canceling before stopping.
In that case, try doing something more like this:
p := PipeableOSProcess command: '/bin/sh'.
p processProxy sigint.
But use hdiutil rather than the /bin/sh that I use in the above example.
The #sigint message will send a unix SIGINT signal to the external
process, which should be exactly equivalent to doing ctrl-c if you
were running hdiutil from a terminal window on the Mac (but I do
not actually have a Mac, so I might be getting the details wrong).
Dave
More information about the Beginners
mailing list