From b2d6b8578d32cc2481ea3e11d3a1e391862289d3 Mon Sep 17 00:00:00 2001 From: Faiyaz Ahmed Date: Wed, 19 Jul 2006 18:55:06 +0000 Subject: [PATCH] waitpid for forked processes. Was zombie'ing before. --- swapmon.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/swapmon.py b/swapmon.py index 83b4ec1..8425b4d 100755 --- a/swapmon.py +++ b/swapmon.py @@ -194,14 +194,17 @@ class Reset: print kill_subject % params print kill_body % params try: - self.pid = os.fork() - if self.pid == 0: + pid = os.fork() + if pid == 0: print "Slice %s is being killed." % self.name vserver = VServer(self.name) vserver.stop() os._exit(0) + else: + os.waitpid(pid,0) except Exception, err: - print "Warning: Exception received while killing slice %s: %s" % self.name, err + print "Warning: Exception received while killing slice %s: %s" \ + % self.name, err if (time.time() - self.killmail) > email_timeout: slicemail(self.name, kill_subject % params, kill_body % params) print "Sending KILL email for slice %s" % self.name @@ -235,6 +238,8 @@ class Reset: vserver.stop() vserver.start(wait = False) os._exit(0) + else: + os.waitpid(pid,0) except Exception, err: print "Warning: Exception received while resetting slice %s:" \ % self.name, err -- 2.43.0