I have the following bash script:#!/bin/bashset -m(    (bin/pnvd &> /dev/null; kill 0) &    sleep 2    perl integration-test/fuzz-test.pl || kill 0    kill %1)The first three commands in the subshell succeed and return exit status 0. bin/pnvd never exits until it is killed externally.However after executing the forth command in the subshell, the script exits with this output:tools/integration-test: line 8:  4712 Terminated              ( ( bin/pnvd &> /dev/null; kill 0 ) & sleep 2; perl integration-test/fuzz-test.pl || kill 0; kill %1 )and status code 143.It looks as if kill %1 kills the whole process group, not just the first job, however if I remove set -m then it exits with status 0.I am not so much interested in how to fix this but more in: why does the subshell exit with status 143 when it kills the first job?
Kill job in subshell with set -m
bash;kill;job control;subshell;process groups