because we run ps fux | grep "python.*manage.py runserver" | awk '{print $2}' | xargs kill my analysis instantiation of toaster on :8000 was killed when I stopped my build version on :8001. My Django tutorial running on port 8003 was also killed.
I am not sure if Brian Avery will be available to do much Toaster work, so setting this one to the default assignee for the moment. Brian: feel free to take it back if you really want it!
I've found possible easy way to fix this bug while I was working on documentation for production setup. If we run toaster in the screen session then 'screen -S<session> -X quit' will kill only processes started in the session. It does it very reliably. I never noticed any processes left if I quite screen session. Does it make sense to use this approach from your point of view?
Sadly, no. I'm addicted to screen. Unfortunately, a large number of users seem to find it very confusing and adding an additional level of complexity (learning screen commands, in this case) runs counter to the goal of toaster being easier to use than bitbake cli.
Ok then, I'll go with setting a pid namespace [1] to main toaster script. It's proven way to reliably kill all the children of main process. This would require a bit more work though. 1. http://man7.org/linux/man-pages/man7/pid_namespaces.7.html
patchset has been sent for review: http://lists.openembedded.org/pipermail/openembedded-core/2016-August/126002.html
Patchset has been merged to master: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=b22a505414db060b5df0ce3d6c84c5dffd38463e