Zombie Processes when Writing to STDOUT
I am upgrading from Monit 5.1.1 (yes, really that old) and have run into an issue. One of our dependent bash scripts was started with "#!/bin/bash -vx". All of these processes would turn into zombies (shown as <defunct>). The process would hang during startup. The startup would timeout. Monit would respawn the startup script. The previous process was zombified. The old zombies were never cleaned up. We had 5000+ defunct processes before this started causing additional problems for our other monitoring systems.
Writing to stdout used to work, so this is a backwards-incompatible change. The major number should have been bumped when a breaking change is made. (See "semantic versioning").
Monit should still wait for its children in this case. Allowing defunct processes to grow unimpeded is clearly a defect.
Comments (4)
-
repo owner -
repo owner - changed status to closed
-
repo owner - changed status to open
-
repo owner - changed status to duplicate
Duplicate of #176.
- Log in to comment
Your start/stop/restart program needs to demonise itself and run in the background