When the --signal flag was enabled, multiwatch was sending the index of signal in the sig_actions array instead of the correct signal number. So, when multiwatch was told to send a SIGTERM, the application was actually being sent a SIGQUIT, which caused the application to coredump as ordered. The fix is to change the loop to return the signal number stored at the index.master