Java调用Shell问题整理】的更多相关文章

这一年的项目中,有大量的场景需要Java 进程调用 Linux的bash shell 脚本实现相关功能. 从之前的项目中拷贝的相关模块和网上的例子来看,有个别的“陷阱”造成调用shell 脚本在某些特殊的场景下,有一些奇奇怪怪的bug. 大家且听我一一道来. 先看看网上搜索到的例子: package someTest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRead…
以往一直都是crontab+shell调用java程序,最近需要反过来,使用java调用shell程序,实现定时管理,今天总结一下. 基础内容: java的java.lang.Runtime类提供了exec静态方法,可以执行本地脚本 程序事例: package study; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.FileOutputStream; import java.io…
FROM:http://blog.csdn.net/jj12345jj198999/article/details/11891701 在实际项目中,JAVA有时候需要调用C写出来的东西,除了JNI以外,我认为一种比较好的方法是JAVA调用Shell.先把C写出来的make成可执行文件,然后再写一个shell脚本执行该可执行文件,最后是JAVA调用该shell脚本. JAVA调用很简单,例子如下: 首先是shell脚本 #!/bin/sh echo Begin word cluster /home…
一.项目需求: 从某一机构获取证书,证书机构提供小工具,执行.sh脚本即可启动服务,本地调用该服务即可获取证书. 问题:linux服务器启动该服务,不能关闭.一旦关闭,服务即停止. 解决方案:java调用shell命令,利用spring容器启动即执行方案. 参考博文:http://zohan.iteye.com/blog/1709136 项目结构: 原码: 1.RuntimeUtils.java package com.csvalue.common; import org.springframe…
复制指定文件cpp.sh: [root@localhost soft]# vim cpp.sh#!/bin/bash name="$1"\cp /home/soft/test/${name} /opt/echo "co ok"~~ java: public class YY { public static void main(String[] args) throws IOException { System.out.println("java linux…
转自:http://blog.csdn.net/tengdazhang770960436/article/details/12014839 1.shell文件return.sh echo 1 echo 2 echo 3 2.java文件Test.java import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.InputStreamReader; public class Test { p…
/** * 运行shell脚本 * @param shell 需要运行的shell脚本 */ public static void execShell(String shell){ try { Runtime rt = Runtime.getRuntime(); rt.exec(shell); } catch (Exception e) { e.printStackTrace(); } } /** * 运行shell * * @param shStr * 需要执行的shell * @return…
近日项目中有这样一个需求:系统中的外币资金调度完成以后,要将调度信息生成一个Txt文件,然后将这个Txt文件发送到另外一个系统(Kondor)中.生成文件自然使用OutputStreamWirter了,发送文件有两种方式,一种是用写个一个类似于FTP功能的程序,另外一种就是使用Java来调用Shell,在Shell中完成文件的发送操作.我们选择后一种,即当完成外币资金的调度工作后,用Java的OutputStreamWriter来生成一个Txt文件,然后用Java来调用Shell脚本,在Shel…
前言 说明的是,本博文,是在以下的博文基础上,立足于它们,致力于我的大数据领域! http://kongcodecenter.iteye.com/blog/1231177 http://blog.csdn.net/u010376788/article/details/51337312 http://blog.csdn.net/arkblue/article/details/7897396 第一种:普通做法 首先,编号写WordCount.scala程序. 然后,打成jar包,命名为WC.jar.…
原文:http://kongcodecenter.iteye.com/blog/1231177 Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar)  使用步骤如下: 1.导包 官网下载: http://www.ganymed.ethz.ch/ssh2/ maven坐标: <dependency> <groupId>com.ganymed.ssh2</groupId> <artifactId>ganymed-s…