PHOENIX-5454 scripts start foreground java processes as child processes

use os.exec*() in python scripts to start foreground java processes
diff --git a/bin/end2endTest.py b/bin/end2endTest.py
index 2e4b68e..32621f6 100755
--- a/bin/end2endTest.py
+++ b/bin/end2endTest.py
@@ -43,5 +43,4 @@
     hbase_library_path + " org.apache.phoenix.end2end.End2EndTestDriver " + \
     ' '.join(sys.argv[1:])
 
-exitcode = subprocess.call(java_cmd, shell=True)
-sys.exit(exitcode)
+os.execl("/bin/sh", "/bin/sh", "-c", java_cmd)
diff --git a/bin/pherf-cluster.py b/bin/pherf-cluster.py
index 37f29a8..031cfd9 100755
--- a/bin/pherf-cluster.py
+++ b/bin/pherf-cluster.py
@@ -79,5 +79,4 @@
     os.path.join(phoenix_utils.current_dir, "log4j.properties") + \
     " org.apache.phoenix.pherf.Pherf " + args 
 
-exitcode = subprocess.call(java_cmd, shell=True)
-sys.exit(exitcode)
+os.execl("/bin/sh", "/bin/sh", "-c", java_cmd)
diff --git a/bin/pherf-standalone.py b/bin/pherf-standalone.py
index bac2337..b0d593e 100755
--- a/bin/pherf-standalone.py
+++ b/bin/pherf-standalone.py
@@ -67,5 +67,4 @@
     os.path.join(phoenix_utils.current_dir, "log4j.properties") + \
     " org.apache.phoenix.pherf.Pherf " + args 
 
-exitcode = subprocess.call(java_cmd, shell=True)
-sys.exit(exitcode)
+os.execl("/bin/sh", "/bin/sh", "-c", java_cmd)
diff --git a/bin/psql.py b/bin/psql.py
index 973d3de..2002cb3 100755
--- a/bin/psql.py
+++ b/bin/psql.py
@@ -68,5 +68,4 @@
     os.path.join(phoenix_utils.current_dir, "log4j.properties") + \
     " org.apache.phoenix.util.PhoenixRuntime " + args 
 
-exitcode = subprocess.call(java_cmd, shell=True)
-sys.exit(exitcode)
+os.execl("/bin/sh", "/bin/sh", "-c", java_cmd)
diff --git a/bin/sqlline.py b/bin/sqlline.py
index 4a676ee..00c2d92 100755
--- a/bin/sqlline.py
+++ b/bin/sqlline.py
@@ -115,11 +115,4 @@
     " -n none -p none --color=" + colorSetting + " --fastConnect=" + args.fastconnect + \
     " --verbose=" + args.verbose + " --incremental=false --isolation=TRANSACTION_READ_COMMITTED " + sqlfile
 
-childProc = subprocess.Popen(java_cmd, shell=True)
-#Wait for child process exit
-(output, error) = childProc.communicate()
-returncode = childProc.returncode
-childProc = None
-# Propagate Java return code to this script
-if returncode is not None:
-    sys.exit(returncode)
+os.execl("/bin/sh", "/bin/sh", "-c", java_cmd)
diff --git a/bin/traceserver.py b/bin/traceserver.py
index 62e168c..356009c 100755
--- a/bin/traceserver.py
+++ b/bin/traceserver.py
@@ -187,5 +187,5 @@
 else:
     # run in the foreground using defaults from log4j.properties
     cmd = java_cmd % {'java': java, 'root_logger': 'INFO,console', 'log_dir': '.', 'log_file': 'psql.log'}
-    child = subprocess.Popen(cmd.split())
-    sys.exit(child.wait())
+    splitcmd = cmd.split()
+    os.execvp(splitcmd[0], splitcmd)