To improve the scheduling/rescheduling of failed jobs, we have discussed to return a jobreport.json file when the job terminates. I discussed with the Pilot Developer and checked the jobReport.json file in ATLAS. Here are some suggestions for this file. I put it in the attachment. It's free to add/update/remove some parts.
(Note: Pilot has some default signal handlers to catch SIGKILL, SIGTERM and other signals. It may not what you want. This jobreport.json will be used as an assistant to improve the scheduling.)