[x] respondd module passes process fd to json-c, but if the process segfaults json-c call never finishes
[x] use waitpid to check if process died, then pass fd to json-c (if it's possible to just queue up the data in memory... if it fails it shouldn't have written anything to stdout so no extra cleanup needed)
note: this is the primary cause behind status-page 500 errors on experimental