Child processes not reaped when parent dash terminated
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dash (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
When dash is used as /bin/sh and is called with -c to execute commands, dash doesn't appear to pass signals to the child process. When the process spawning dash sends dash a SIGTERM for example, it causes those subprocesses to never die, and wrecks havoc on servers as tons of spawned processes get reparented to init and continue to run or get zombied.
I've seen this problem mentioned in various guises around the internet (depending on the context of what's spawning dash), and in every case the supplied "solution" is the same: stop using dash
e.g. see http://
debconf-
dpkg-
This has always been the case, you can find examples going back to Ubuntu 6.10 which first enabled the use of dash as /bin/sh and exists in at least 14.04 LTS
I'd like to think there's a better solution for this misbehaviour in dash than to stop using it altogether!