JAVA调用shell脚本返回执行结果是否成功?

问题描述

需求功能:JAVA调用shell导入大量数据,优化数据库(informix),创建索引,整个执行脚本时间预计 2个小时,我是这样做的。】 各位帮忙看看如下代码是否会有什么漏洞或者不足之处,或者有什么更好的办法,谢谢! Runtime rt = Runtime.getRuntime(); Process p = rt.exec(“shell.sh”); if(p.waitFor() != 0){ System.out.println("数据导入成功!"+p.waitFor()); }else{ System.out.println("数据导入失败!"+p.waitFor()); }

解决方案

可根据返回值来判断StringBuilder result = new StringBuilder();InputStream in = proc.getInputStream();BufferedReader buf = new BufferedReader(new InputStreamReader(in, "gbk"));String line = null;while ((line = buf.readLine()) != null){result.append(line).append("rn");}buf.close();proc.destroy();// 判断返回数据是否正确if (result.indexOf("failed") == -1){System.out.println("> success");} else {System.out.println("> failed");}

时间: 2024-08-03 07:58:18

JAVA调用shell脚本返回执行结果是否成功?的相关文章

web页面php调用shell脚本,执行svn update 更新的问题。

问题描述 web页面php调用shell脚本,执行svn update 更新的问题. 大神们,求救! SvnUpdate.php代码: <?php set_time_limit(0); system("/usr/bin/sudo /usr/www/SvnUpdate.sh"); ?> SvnUpdate.sh代码: time="$(date +"%Y%m%d-%H%M%S")" codes="/usr/www/codes&q

Java程序调用带参数的shell脚本返回值

Java程序调用带参数的shell脚本返回值 首先来看看linux中shell变量($#,$@,$0,$1,$2)的含义解释 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表.如"$*"用「"」括起来的情况.以"$1 $2 - $n"的形式输出所有参数. $@ 所有参数列表.如"

远程连接-请问一下java 调用shell上传linux的问题

问题描述 请问一下java 调用shell上传linux的问题 package com.wfj.cms.util; import java.io.IOException; import java.util.ArrayList; import java.util.Hashtable; import java.util.List; import org.apache.log4j.Logger; import org.apache.oro.text.regex.MalformedPatternExce

Java调用Shell命令的方法_java

本文实例讲述了Java调用Shell命令的方法.分享给大家供大家参考.具体如下: 近日项目中有这样一个需求:系统中的外币资金调度完成以后,要将调度信息生成一个Txt文件,然后将这个Txt文件发送到另外一个系统(Kondor)中.生成文件自然使用OutputStreamWirter了,发送文件有两种方式,一种是用写个一个类似于FTP功能的程序,另外一种就是使用Java来调用Shell,在Shell中完成文件的发送操作.我们选择后一种,即当完成外币资金的调度工作后,用Java的OutputStrea

如何通过php页面来调用shell脚本

问题描述 如何通过php页面来调用shell脚本 有一个php文件a.php,内容为 <?php system("/home/wwwroot/default/build/make.sh"); ?> make.sh的内容为 #!/bin/bash #set -x mkdir aaaaaaaaaaaaa 我在服务器上直接运行a.php可以正常调用make.sh,现在想通过浏览器访问a.php来调用这个shell脚本,然后在浏览器上访问a.php发现脚本没有执行. 大神们帮我看看

unix-Solaris 10 写一个脚本,在atc用户下,调用该脚本,执行poweroff命令

问题描述 Solaris 10 写一个脚本,在atc用户下,调用该脚本,执行poweroff命令 Solaris 10 写一个脚本,在atc用户下,调用该脚本,执行poweroff命令 解决方案 实现一个脚本,然后atc用户执行 解决方案二: 实现一个脚本,然后atc用户执行

求助!Java调用批处理文件后无法执行

问题描述 求助!Java调用批处理文件后无法执行 我想用Java调用批处理打开.exe安装包,但是安装包无法打开或者说直接跳过了打开 上面是我的Java代码 执行后没有打开.exe文件!但是我单独打开批处理文件就完全没问题 这是我的批处理文档! 哪位大神帮帮忙啊!!!! 解决方案 java 执行批处理文件window下java执行批处理文件 解决方案二: 既然是执行 cmd ,你的BAT里为什么还要pause? 然后,你的 command = "cmd /c zidong.bat";就

shell脚本中执行python脚本并接收其返回值的例子_linux shell

1.在shell脚本执行python脚本时,需要通过python脚本的返回值来判断后面程序要执行的命令 例:有两个py程序  hello.py 复制代码 代码如下: def main():     print "Hello" if __name__=='__main__':     main() world.py def main():     print "Hello" if __name__=='__main__':     main() shell 脚本 te

java运行shell脚本方法示例

 利用Runtime.execute方法,我们可以在Java程序中运行Linux的Shell脚本,或者执行其他程序   现在通过CommandHelper.execute方法可以执行命令,该类实现   代码如下: package javaapplication3; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /**  *  * @author chensh