If supervise were to send a signal to kill its child process, the shell would receive the signal and exit, but the JVM would carry on running and become an orphan.
Now, users could write shell scripts; store and export information in variables; control file descriptors; control signal handling, for loops, and case statements; and so much more.