On Wed, Feb 03, 2016 at 10:40:06PM +0100, Bram Moolenaar wrote:
>
> Danek Duvall wrote:
>
> > On Wed, Feb 03, 2016 at 09:33:00PM +0100, Bram Moolenaar wrote:
> > >
> > > Lcd wrote:
> > >
> > > > On 3 February 2016, Jun T. <[email protected]> wrote:
> > > > >
> > > > > On 2016/02/03, at 19:04, Jun T. <[email protected]> wrote:
> > > > >
> > > > > > call system("killall test_channel.py") this doesn't work either,
> > > > > > because the name of the process is not 'test_channel.py' but
> > > > > > 'python'.
> > > > >
> > > > > I forgot to mention that killall works on Linux. killall on Mac (and
> > > > > maybe on many non-linux systems) is not so clever.
> > > >
> > > > pkill(1) should work on (recent) Linux, *BSD, OS-X, and Solaris.
> > >
> > > Thanks for the hint. "pkill --full test_channel.py" should work.
> > > I'll add a check for "pkill". I'll assume they all have the --full
> > > argument.
> >
> > Not on Solaris, which has just -f for that.
>
> OK, let's use "pkill -f" then.
>
> > Is there a reason that grabbing the pid and killing that directly wasn't
> > appropriate? Do not all shells support $!?
>
> We don't have the PID (yet).
That's what
let pid = system("./test_channel.py& echo $!")
...
call system("kill " . pid)
was all about -- the script would emit the pid of the job running in the
shell, the vimscript would capture that, and then pass it to a kill
command. That's about as precise as we can get, I think.
Danek
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.