diff options
Diffstat (limited to 'rcynic')
-rw-r--r-- | rcynic/rcynic-cron.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/rcynic/rcynic-cron.py b/rcynic/rcynic-cron.py index cadc24d6..d4dd420b 100644 --- a/rcynic/rcynic-cron.py +++ b/rcynic/rcynic-cron.py @@ -55,8 +55,14 @@ def run(*cmd, **kwargs): os._exit(1) else: status = os.waitpid(pid, 0)[1] - if status != 0: - sys.exit("Program %s exited with status %s" % (" ".join(cmd), status)) + if status == 0: + return + elif os.WIFSIGNALED(status): + sys.exit("Process %s exited with signal %s" % (" ".join(cmd), os.WTERMSIG(status))) + elif os.WIFEXITED(status): + sys.exit("Program %s exited with status %s" % (" ".join(cmd), os.WEXITSTATUS(status))) + else: + sys.exit("Program %s exited for unknown reason %s" % (" ".join(cmd), status)) want_chroot = False |