Hi. I made an important update on the functions. I should have include -d '' to read. Not sure why I didn't notice it during the test back then. The previous versions would only read a single id but that's fixed now. Good thing I remembered the code after stumbling upon another problem.
I thought I should just say this just in case you did used them. Ross On Wed, Apr 10, 2013 at 9:00 PM, konsolebox <konsole...@gmail.com> wrote: > It's actually simple with trap. Just catch SIGINT with a function and call > a function to kill the tree: > > > https://www.linuxquestions.org/questions/blog/konsolebox-210384/bash-functions-to-list-and-kill-or-send-signals-to-process-trees-34624/ > > Note killtree3. And that could be merged as one single function per your > own preference. > > And do killtree3 "$BASHPID". > > On Wed, Apr 10, 2013 at 6:43 PM, Ilya Basin <basini...@gmail.com> wrote: > >> Hi. >> I have a script that creates some background tasks. >> I want the whole tree to be killed by Ctrl-C. >> >> There's a requirement that the script process and its children must >> belong to the same process group. This is why I can't enable job >> control. >> >> I don't want to use 'trap', because it adds complexity. >> >> Example: >> >> #!/bin/bash >> sleep 90 & >> wait $! >> >> After Ctrl-C "sleep 90" stays. >> >> Using trap: >> >> #!/bin/bash >> >> trap 'trap - INT; kill -TERM $noeof_pid; kill -INT $$' INT >> >> sleep 90 & >> wait $ > > >