Re: Easy shell question: how to make a script killing all his childs when killed?
- From
Alex Riesen <fork0@t-online.de>
- Date
- Dec 9, 2006, 21:39 UTC
- Message-ID
- <20061209213937.GB12373@steel.home>
- In-Reply-To
- <e5bfff550612090951l43a83a00o7ea2e244ca562c77@mail.gmail.com>
Marco Costalba, Sat, Dec 09, 2006 18:51:57 +0100:
Show 19 quoted lines
> >> P.S: I have no way to exec the script in fancy ways, I can just start
> >> it and get is PID.
> >
> >Which is "fancy" enough. What do you mean "start"? Starting a new
> >process usually and notably involves forking and execing (even if the
> >first thing to exec will be your shell).
>
> By 'start' I mean it is done inside Qt QProcess class back box ;-)
>
> Anyway I have written an homegrown 'wanna be hacker' launching script:
>
> git rev-list --header --boundary --parents --topo-order HEAD >
> /tmp/qgit_136224752.txt &
> echo $!
> wait
>
> With this I can get the pid of git-rev-list from my QProcess interface
> so to be able to kill it when needed with another command ('kill'
> BTW).Why do you need to save it in temporary file at all? Why don't you read the output like gitk does? You can take a look at popen(3). It's known to be portable among operating systems and libc's. Or, BTW, why don't you just read qprocess.h, use processIdentifier()/pid(), read*()-methods and the like? (though, looking at the QProcess in