Java exec execScript(File shellScriptFile, String[] scriptCommand, PrintWriter execLog)

Here you can find the source of execScript(File shellScriptFile, String[] scriptCommand, PrintWriter execLog)

Description

execScript is a function that executes shell scripts

License

Apache License

Declaration

public static Process execScript(File shellScriptFile, String[] scriptCommand, PrintWriter execLog)
        throws IOException, InterruptedException 

Method Source Code

//package com.java2s;
/*//from  ww  w . j  a  v  a2 s.  co m
 * Copyright 2009 the original author or authors.
 * Copyright 2009 SorcerSoft.org.
 *  
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

public class Main {
    /**
     * execScript is a function that executes shell scripts
     * 
     * @author R. M. Kolonay
     * */
    public static Process execScript(File shellScriptFile, String[] scriptCommand, PrintWriter execLog)
            throws IOException, InterruptedException {
        Process child2 = Runtime.getRuntime().exec(scriptCommand);
        String line;
        BufferedReader in = new BufferedReader(new InputStreamReader(child2.getInputStream()));

        while ((line = in.readLine()) != null) {
            execLog.println(line);
            execLog.flush();
        }

        BufferedReader errorReader = new BufferedReader(new InputStreamReader(child2.getErrorStream()));
        while ((line = errorReader.readLine()) != null) {
            execLog.println("*** std error: " + line);
            execLog.flush();
        }

        execLog.close();

        return child2;
    }
}

Related

  1. execName()
  2. execPrint(final boolean out, final String... command)
  3. execProcess(String process)
  4. execProcess(String[] cmdline, final long timeout)
  5. Execption2Strings(boolean rep, Throwable... execptions)
  6. execShell(String cmd)
  7. execShell(String shell)
  8. execSudoCommand(final String _sudoCmd, final String _pw)
  9. execSystemCommand(String[] commands, String executionPath)