Java执行Shell和传输文件】的更多相关文章

Linux 系统下采用 Java 执行 Shell 脚本,直接上代码: package com.smbea.demo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * 执行 Shell 脚本 * @author hapday * @date 2017年3月14日 @Time 下午2:28:22 */ public class ChmodShell…
有时候我们需要调用系统命令执行一些东西,可能是为了方便,也可能是没有办法必须要调用.涉及执行系统命令的东西,则就不能做跨平台了,这和java语言的初衷是相背的. 废话不多说,java如何执行shell命令?自然是调用java语言类库提供的接口API了. 1. java执行shell的api 执行shell命令,可以说系统级的调用,编程语言自然必定会提供相应api操作了.在java中,有两个api供调用:Runtime.exec(), Process API. 简单使用如下: 1.1. Runti…
Java执行shell脚本并返回结果两种方法的完整代码 简单的是直接传入String字符串,这种不能执行echo 或者需要调用其他进程的命令(比如调用postfix发送邮件命令就不起作用) 执行复杂的shell建议使用String[]方式传递(对外可以封装后也传入String字符串). /** * 运行shell脚本 * @param shell 需要运行的shell脚本 */ public static void execShell(String shell){ try { Runtime.g…
BPMN中存在由系统执行的脚本任务,shell脚本任务也是该系统任务脚本中的一种,利用的也是由java执行shell脚本. 代码中的ProcessBuilder类,为java.lang.ProcessBuilder.可以参考javaAPI或者博客https://blog.csdn.net/u013256816/article/details/54603910 当然,也可以用java.lang.Runtime类的exec()方法执行shell脚本. package com.alphajuns; i…
最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/ 主要介绍Android或Java应用中如何以默认用户或root用户执行Shell命令,ShellUtils的API介绍.使用及使用场景(如静默安装和卸载.修改hosts文件.拷贝文件).使用纯Java实现,所以对Java程序同样适用. 很多朋友在使用TrineaAndroidCommon@Github中的ShellUtils工具类了,那就大…
1.判断子进程是否执行结束 有的时候我们用java调用shell之后,之后的操作要在Process子进程正常执行结束的情况下才可以继续,所以我们需要判断Process进程什么时候终止. Process类提供了waitFor()方法.该方法导致当前线程等待,直到Process线程终止. Process.waitFor()是有一个int类型返回值的,当返回值为0的时候表Process进程正常终止.否则一般是脚本执行出错了(我遇到的一般是这种情况). 2.Process.waitFor()导致当前线程…
一.介绍 有时候我们在Linux中运行Java程序时,需要调用一些Shell命令和脚本.而Runtime.getRuntime().exec()方法给我们提供了这个功能,而且Runtime.getRuntime()给我们提供了以下几种exec()方法: Process exec(String command) 在单独的进程中执行指定的字符串命令. Process exec(String[] cmdarray) 在单独的进程中执行指定命令和变量. Process exec(String[] cmd…
正常来说java调用shell命令就是用 String[] cmdAry = new String[]{"/bin/bash","-c",cmd} Runtime.getRuntime().exec(cmdAry); 实际上就是创建个子进程去执行这个命令. 问题来了: 如果我执行下面这句命令 exp system/manager buffer=64000 file=/home/oracle/beifen/beifen.dmp FULL=Y 这种输出日志量特别大的命令…
1.脚本test.sh,置于/Users/hdwang目录下 #!/bin/sh cd /Users/hdwang echo ls:`ls` ;i<=;i++)); do + ); sleep 1s done echo jps:`jps -l` 2.java执行test.sh public class ExecShell { public static void main(String[] args) { try { Process pro = Runtime.getRuntime().exec…
java程序中要执行linux命令主要依赖2个类:Process和Runtime首先看一下Process类:ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,  该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.  检查进程的退出状态以及销毁(杀掉)进程的方法.  创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程…