379116: start.jar fix to shutdown child processes with --exec. Remove finally block and replace with a shutdown hook in _exec if branch.

Change-Id: I85af53090a2797f433aca22276b413762999a477
diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java b/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java
index 70fbe10..d4f503b 100644
--- a/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java
+++ b/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java
@@ -550,22 +550,25 @@
         if (_exec)
         {
             CommandLineBuilder cmd = buildCommandLine(classpath,configuredXmls);
+            
             ProcessBuilder pbuilder = new ProcessBuilder(cmd.getArgs());
             final Process process = pbuilder.start();
+            Runtime.getRuntime().addShutdownHook(new Thread()
+            {
+                @Override
+                public void run()
+                {
+                    Config.debug("Destroying " + process);
+                    process.destroy();
+                }
+            });
             
-            try
-            {
-                copyInThread(process.getErrorStream(),System.err);
-                copyInThread(process.getInputStream(),System.out);
-                copyInThread(System.in,process.getOutputStream());
-                monitor.setProcess(process);
-                process.waitFor();
-            }
-            finally
-            {
-                Config.debug("Destroying " + process);
-                process.destroy();
-            }
+            copyInThread(process.getErrorStream(),System.err);
+            copyInThread(process.getInputStream(),System.out);
+            copyInThread(System.in,process.getOutputStream());
+            monitor.setProcess(process);
+            process.waitFor();
+            
             return;
         }