2 shiduov shiduov 于 2014.09.24 17:04 提问

java 在linux 下调用 SH 文件 在windows 下调用 bat 执行后不能 看见进程
  1. public boolean execCmd(String[] cmds){
    
    Process p = null;
    Runtime rt = Runtime.getRuntime();
    BufferedReader in = null;
    InputStreamReader reader = null;
    
    try {
        p = rt.exec(cmds);
        InputStream info  = p.getInputStream();
        in = new BufferedReader(new InputStreamReader (info));
    
        System.out.println("exec info  : " + in.readLine());
    
    } catch (IOException e) {
        e.printStackTrace();
        return false;
    } finally{  
        close(in, reader, p);
    }
    
    return true;
    

    }

  2. private void close(BufferedReader in, InputStreamReader reader, Process p){
    try {
    if(in != null){
    in.close();
    in = null;
    }
    if(reader != null){
    reader.close();
    reader = null;
    }
    if(p != null){
    p.waitFor();
    p.destroy();
    p = null;
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

1个回答

oyljerry
oyljerry   Ds   Rxr 2015.01.21 22:00

bat在cmd.exe或者explorer.exe

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java调用windows系统的批处理(.bat文件) 和 linux系统的shell脚本(.sh文件)
在批量拷贝系统下的文件时如果用java的IO流来读写文件很消耗系统内存,可能发生内存溢出或宕机,目前的解决方案就是调用系统命令来批量拷贝 java code public static void copy(String orPath,String newPath) { String osName = System.getProperty("os.name"); //l
bat文件和sh文件
tomcat的bin文件夹中存在一份.bat文件和相对应的.sh文件,一个是为了在window系统上执行的文件,另一个是linux下的批处理文件。例如:startup.bat和startup.sh。 bat是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用C
windows和linux批处理互相调用的方法
windows下两个批处理1.bat 内容 echo haha2.bat 内容 call 1.bat实现了在2.bat中调用1.bat,在Linux下是怎样呢?Linux1.bat 内容 echo haha2.bat 内容 source 1.bat这样便实现了在shell的2.bat脚本中调用1.bat脚本的使用,可以在shell中运行./2.bat,输出haha
Java中执行Shell(.sh)和windows批量处理(.bat)
原文之地:http://blog.csdn.net/Nicolas_Yang/archive/2008/12/12/3504480.aspx  【JAVA 中执行Shell】 jShell.java /*  *  jShell.java  *  class jShell is used for executing shell command  *  USAGE:  *      j
Java调用批处理或可执行文件和Runtime、Process类实现Java版进程管理器
Java调用批处理或可执行文件       用Java编写应用时,有时需要在程序中调用另一个现成的可执行程序或系统命令,这时可以通过组合使用Java提供的Runtime类和Process类的方法实现。下面是一种比较典型的程序模式:  Process process = Runtime.getRuntime().exec(".\\p.exe");  process.waitfor( );  
java 执行命令、调用bat文件、调用外部程序的两种方法
/** * 根据路径执行文件 * @param path * @return */ public static String exec(String path){ if(StringUtil.isEmpty(path)){ return null; } try { //创建一个命令行 CommandLine cmdLine = CommandLi
用.bat和.sh 加载jar包 并执行java代码的脚本
使用批处理脚本或者shell循环加载jar包到classpath然后执行java命令
shell调用.bat文件产生的奇怪事!
今天写了个自动连接oracle创建用户导入数据的软件其中用到了.bat文件 最初将.sql文件与.bat同时 放在application.startpath & "/database"下结果双击.bat时好使,但是想用shell调用总是出错,说找不到.sql文件。终于经过四个小时的查找,终于在csdn上找到了答案。原来双击时,.bat中 sqlplus system/manager
linux远程出触发windows目录下的批处理
背景需求:有一台linux编译服务器,需要在编译完成后自动将该文件部署到远程window的tomcat下并重启该服务器!!!解决方案:telnet+pscp解决过程:首先linux编译机器想要触发window的批处理,在这里选择使用window的telnet服务linux下的脚本如下:stop_9095.py(停止服务并触发远程脚本del_ROOT_9095.bat)#!/usr/bin/env ...
linux下 sh调用java,执行class
本文主要介绍在linux下sh批处理文件调用java的方法。 shell编程的代码如下: #!/bin/bash #引入java环境变量 . /etc/profile #取得当前.sh文件所在的目录 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #引入class所在的文件夹 classes=$DIR/classes #li