protected String runProgramGetResp (List<String> args)
            throws IOException, InterruptedException {
        logger.entering(getClass().getName(), "runProgramGetResp", args);
        String response = "";
        
        ProcessBuilder procBuilder = new ProcessBuilder(args);
        Process proc = procBuilder.start();
        proc.waitFor();

        // Evaluate exit value.
        int ev = proc.exitValue();
        if (ev != 0) {
            StringBuffer errSB = new StringBuffer();
            errSB.append(args.get(0) + ": returned " + ev + ".");
            InputStreamReader err = new InputStreamReader(proc.getErrorStream());
            char[] cbuf = new char[8192];
            int length = err.read(cbuf);
            if (length > 0) {
                errSB.append("\n" + new String(cbuf, 0, length));
            }
            err.close();
            throw new IOException(errSB.toString());
        }
        
        InputStream is = proc.getInputStream();     // to capture output from command
        response = convertStreamToStr(is);
        logger.finer("runProgramGetResp response: " + response);

        logger.exiting(getClass().getName(), "runProgramGetResp");
        return response;
    }