diff options
author | William Hubbs <w.d.hubbs@gmail.com> | 2016-05-23 11:06:40 -0500 |
---|---|---|
committer | William Hubbs <w.d.hubbs@gmail.com> | 2016-05-23 11:10:51 -0500 |
commit | 94077d264e14783e6ca5603d64e9d579fb206c20 (patch) | |
tree | 83d42d436900665518a62454c930e05034edcde9 /src | |
parent | 3351c8b4c3027f09003f8ba33e43f46762f5c453 (diff) |
supervise-daemon: log the exit code or signal when a child process dies
Diffstat (limited to 'src')
-rw-r--r-- | src/rc/supervise-daemon.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c index 2d8287fd..c1ef169e 100644 --- a/src/rc/supervise-daemon.c +++ b/src/rc/supervise-daemon.c @@ -702,8 +702,12 @@ int main(int argc, char **argv) syslog(LOG_INFO, "stopping %s, pid %d", exec, child_pid); kill(child_pid, SIGTERM); } else { - syslog(LOG_INFO, "%s, pid %d, terminated unexpectedly", - exec, child_pid); + if (WIFEXITED(i)) + syslog(LOG_INFO, "%s, pid %d, exited with return code %d", + exec, child_pid, WEXITSTATUS(i)); + else if (WIFSIGNALED(i)) + syslog(LOG_INFO, "%s, pid %d, terminated by signal %d", + exec, child_pid, WTERMSIG(i)); child_pid = fork(); if (child_pid == -1) eerrorx("%s: fork: %s", applet, strerror(errno)); |