`

java调用linux的shell脚本

阅读更多

接下来,我们看一下java调用linux shell脚本的方法: 

首先,我们需要增加用户对该脚本的执行权限,即

1
2
3
4
5
6
7
8
9
10
11
12
 String cmdstring = "chmod a+x test.sh";
 Process proc = Runtime.getRuntime().exec(cmdstring);
 proc.waitFor(); //阻塞,直到上述命令执行完
 cmdstring = "bash test.sh"//这里也可以是ksh等
 proc = Runtime.getRuntime().exec(cmdstring);
 // 注意下面的操作 
 string ls_1;
 BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(proc.getInputStream());
  
 while ( (ls_1=bufferedReader.readLine()) != null);
 bufferedReader.close();
 proc.waitFor();

 

为什么要有上面那段操作呢?
    原因是:可执行程序的输出可能会比较多,而运行窗口的输出缓冲区有限,会造成waitFor一直阻塞。解决的办法是,利用Java提供的Process类提供的getInputStream,getErrorStream方法让Java虚拟机截获被调用程序的标准输出、错误输出,在waitfor()命令之前读掉输出缓冲区中的内容。

 

来源:http://www.hxstrive.com/article/112.htm

 

分享到:
评论

相关推荐

    linux shell脚本启动java类

    详细的linux shell脚本启动java代码类。

    Java调用linux shell脚本的方法

    本文将详细探讨如何在Java程序中调用Linux shell脚本,并解释相关的关键概念和步骤。 首先,调用shell脚本的基本过程分为以下几个步骤: 1. **设置脚本执行权限**:在Linux系统中,执行一个文件(如shell脚本)...

    java调用shell(包含有参数的调用)

    总之,Java调用Shell脚本是一个有效的方法来在Java程序中实现复杂的Linux环境下的操作,这种技术尤其适用于需要进行系统级操作和自动化任务的场景。掌握这一技术可以帮助开发者更好地实现跨平台的功能,尤其是在开发...

    linux下shell脚本实现数据的导出

    总结来说,这个场景涉及到了Linux下的shell脚本编写,主要是使用`exp`命令导出Oracle数据库中的数据,并通过Java程序来调用这个脚本。这在日常的运维工作中非常常见,通过这种方式可以实现自动化数据备份,提高工作...

    java调用shell脚本执行sqlldr与存储过程

    在java代码中调用执行shell脚本,sqlldr导数与使用sqlplus在shell调用执行存储过程。 linux环境中有2个dba的用户:oracle、erm 还有1个web用户:erm 在linux环境中,这三个用户都可以直接在任意目录下执行该shell...

    JAVA操作linux服务器,本文用于启动shell脚本并返回数据,简单易懂,可随时修改

    本主题聚焦于使用Java来操作Linux服务器,特别是通过执行shell脚本来获取服务器的反馈数据。以下将详细阐述这个过程涉及的技术点和步骤。 首先,我们需要理解Java中的SSH(Secure Shell)框架,它允许我们在安全的...

    java 远程调用Shell脚本客户端包

    Java 远程调用Shell脚本客户端包是一个实用的工具,专为开发者设计,使得在Java应用程序中执行远程Shell命令变得简单而高效。这个包的主要功能是通过Java代码发起对远程服务器上的Shell脚本的调用,从而实现跨平台的...

    Linux的shell脚本

    Shell 脚本的主要作用是帮助用户更方便地使用 Linux 操作系统。 一、 Shell 介绍 Shell 是一个用 C 语言编写的程序,它被称为用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 脚本...

    linux系统java服务自启动shell脚本及服务cpu内存占用监控脚本

    一、Linux系统Java服务自启动shell脚本 自启动脚本主要目的是在Linux系统启动时自动启动Java服务,确保服务的高可用性。创建自启动脚本通常包括以下步骤: 1. 创建shell脚本:在系统的`/etc/init.d/`目录下创建一...

    java调用Shell脚本.doc

    ### Java调用Shell脚本详解 #### 一、前言 在实际开发过程中,经常会遇到需要结合Java程序与Shell脚本进行操作的情况。通过Java调用Shell脚本不仅可以实现复杂的功能,还可以提高程序的灵活性和扩展性。本文将详细...

    Java 调用 Linux shell 命令执行框架:sshxcute

    sshxcute 就是这样一个框架工具集,它基于 JSCH 构建,允许工程师利用Java 代码通过 SSH 连接远程批量执行 Linux/UNIX 系统上的命令或者脚本,同时加入了判断成功与否,取回输出等多种实用功能。sshxcute 不管是针对...

    使用runtime实现linux命令行或shell脚本多次调用

    本文将深入探讨如何使用`Runtime`和相关概念来实现Linux命令行或shell脚本的多次调用。 首先,`Runtime`类是每个Java应用实例的一部分,它提供了与正在运行的应用程序环境交互的方法。通过`Runtime.getRuntime()`...

    android系统中调用shell脚本

    在Android系统中,由于安全性和权限的限制,直接调用shell脚本并不像在Linux或Unix环境下那样简单。然而,对于非root用户来说,确实有一些方法可以实现对shell脚本的调用,尤其是在开发和调试过程中。下面我们将深入...

    启动停止java服务的shell脚本

    本文将详细介绍如何使用Shell脚本来启动和停止Java服务,适用于包括SpringBoot在内的各种Java应用程序。 首先,让我们理解什么是Shell脚本。Shell脚本是Linux或Unix操作系统中的批处理程序,由一系列命令组成,可以...

    shell 脚本调用Java类

    Shell脚本主要用于Linux或Unix系统中的自动化任务执行,而Java是一种跨平台的编程语言,广泛应用于企业级应用、大数据处理等领域。当需要将这两者结合时,通常是为了在Shell脚本中调用Java程序,实现更复杂的系统...

    linux的shell脚本快速部署java环境jdk+tomcat+mysql

    这篇内容将详细介绍如何通过Linux的shell脚本来快速部署Java环境,包括JDK、Tomcat和MySQL,这三个是构建Web应用程序的基础组件。 首先,让我们来了解一下JDK(Java Development Kit)。JDK是Java开发和运行的必备...

    java调用shell脚本

    在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如调用Shell脚本。这在处理自动化任务、远程服务器管理或系统集成时非常常见。在给定的资源中,我们可以看到如何在Java中实现这个功能,...

    Java项目linux启动脚本以及日志分割安装软件

    2. **配置使用**:在Shell脚本中,可以将原本要写入单个日志文件的输出通过管道`|`传递给cronolog,如`your_command | cronolog /path/to/log/%Y%m%d.log`。这里的`%Y%m%d.log`表示按照年月日格式创建日志文件。 3. ...

    Java调用Shell脚本代码

    在Java程序中调用Unix/Linux主机上的Shell命令,并返回相应执行结果。

    java调用shell脚本完美封装

    在Java编程中,有时我们需要与操作系统进行交互,执行一些系统级别的任务,比如自动化运维、文件管理等,这时就可能需要用到调用Shell脚本。本文将详细介绍如何在Java中完美封装shell脚本的调用方法,并提供相关的...

Global site tag (gtag.js) - Google Analytics