`
jimmee
  • 浏览: 540813 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Runtime.getRuntime().exec()启动新的进程

    博客分类:
  • J2SE
阅读更多
1. 子进程并没有自己的控制台,因此,它并不会输出任何信息。
2. 如果要输出子进程的输出信息,可以通过Process中的getInputStream得到子进程的输出流(在子进程中输出,在父进程中就是输入),然后将子进程中的输出流从父进程的控制台输出。
3. 子进程除了输出信息,还有输入信息。既然子进程没有自己的控制台,那么输入信息也得由父进程提供。

import java.io.*;
public class Test
{
 public static void main(String[] args)
 {
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  System.out.println("由父进程输入的信息:" + br.readLine());
 }
}

// Test_Exec_In.java
import java.io.*;
public class Test_Exec_In
{
 public static void main(String[] args)
 {
  Runtime run = Runtime.getRuntime();
  Process p = run.exec("java test2");
  BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
  bw.write("向子进程输出信息");
  bw.flush();
  bw.close(); // 必须得关闭流,否则无法向子进程中输入信息
  // System.in.read();
 }
}
分享到:
评论

相关推荐

    Runtime 执行bat

    当调用`exec()`方法时,它会创建一个新的子进程。这个子进程有三个流:标准输出(`stdout`)、标准错误(`stderr`)和标准输入(`stdin`)。如果不处理这些流,它们可能会占用大量内存,导致程序阻塞。因此,我们...

    Android中软件的静默安装

    1,申请root权限Runtime.getRuntime().exec("su"); 2,通过数据输出流DataOutputStream写入pm install命令; 3,最后获取Process进程的返回值int i = process.waitFor();,如果i=0,则表明已获取root权限。

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

    在`ShellConsole`类中,我们使用`Runtime.getRuntime().exec("ls -l")`执行了`ls -l`命令,并通过`BufferedReader`读取并打印了命令的输出。注意,执行外部命令可能会抛出异常,因此需要妥善处理。 另一个类`Shell....

    java执行可执行文件,Runtime.exec、ProcessBuilder、commons-exec

    - `Runtime.getRuntime().exec(command)`用于启动新的进程。 - `getInputStream()`和`getErrorStream()`分别获取标准输出流和错误输出流。 - `waitFor()`用于等待进程执行完毕并返回退出状态。 #### 2. 使用`...

    解决runtime.exec()执行进程block死锁以及为waitFor设置超时

    完美解决runtime.exec()执行进程block死锁以及为waitFor设置超时 不需要耗cpu的循环判断exitValue==0 开两个进程搞定

    【IDEA】windows环境下IDEA java代码Runtime.getRuntime.exec中shell的执行环境的解决方案

    windows环境下IDEA java代码Runtime.getRuntime.exec中shell的执行环境的解决方案前言解决办法后记 前言 在使用IDEA本地开发监控守护线程的后台,我遇上了执行环境不兼容的问题,爆出各种“xxx不是内部或外部命令,...

    java.lang.Runtime.exec() Payload知识点详解

    在 Java 语言中,可以使用 Runtime.getRuntime().exec() 方法执行命令,该方法可以执行操作系统命令,并返回结果。例如,可以使用以下代码执行命令: `String cmd = "ls -l"; Process process = Runtime.getRuntime...

    android截屏

    这里不是通过view来截图,也不是通过底层的framebuffer实现截图,而是采用另外一种方法实现截图,通过Runtime.getRuntime().exec()来实现,并保存在sdcard上,代码很简单。

    Java使用Runtime.exec()给Windows命令提示符做了个外壳,真的很山寨!

    2. **进程创建**:使用`Runtime.exec()`创建一个新的进程来执行命令。例如,`Runtime.getRuntime().exec("cmd /c " + command)`会执行一个CMD命令。 3. **输入输出流管理**:你需要连接到进程的输入流(`Process....

    android读取/显示logcat信息

    这通常涉及使用`Runtime.getRuntime().exec()`方法来执行shell命令。 4. **解析和显示日志**:将`adb logcat`的输出解析成日志条目,然后在界面上展示。每个条目包含时间戳、优先级、标签和消息。你可以创建一个...

    Java调用Python的jar包

    这两个方法允许Java启动一个新的进程,并执行操作系统命令。因此,我们可以在Java中执行Python脚本,例如: ```java Process process = Runtime.getRuntime().exec("python script.py"); ``` 然而,这并不涉及jar...

    操作进程,显示与杀死

    例如,`Runtime.getRuntime().exec("taskkill /im Notepad.exe")`将会结束所有记事本进程。如果需要强制结束,只需添加`/F`参数,如`Runtime.getRuntime().exec("taskkill /F /im Notepad.exe")`。 然而,使用Jacob...

    Android程序中(APK程序)执行Adb shell 命令

    Process process = Runtime.getRuntime().exec("su -c adb shell command"); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = ...

    java调用本地浏览器的demo

    首先,`Runtime.getRuntime().exec()`方法是Java标准库中用于执行系统命令的常用方式。例如,如果你想在Windows环境下打开默认浏览器,你可以这样写: ```java String url = "http://www.example.com"; Runtime....

    java调用windows命令

    - 使用`Runtime.getRuntime().exec()`方法创建一个子进程来执行指定的可执行程序。例如: ```java Process process = Runtime.getRuntime().exec(".\\p.exe"); ``` - `exec()`方法返回一个Process对象,可以...

    安卓程序发送linux指令.zip

    首先,`Runtime.getRuntime().exec()` 方法的工作原理是创建一个新的进程来执行指定的命令和参数。在Android环境中,这意味着我们可以执行与设备上的Linux shell兼容的命令。例如,如果你想要执行一个简单的`ls`命令...

    AIUI使用.rar

    Runtime runtime = Runtime.getRuntime(); try { runtime.exec("cmd /c start " + url); } catch (IOException e) { e.printStackTrace(); } } /** * 鍦ㄥ欢杩熸寚瀹氱殑绉掓暟鍚庡叧鏈? * ...

    获取手机IMEI号、手机型号等

    在移动设备中,IMEI(International Mobile Equipment Identity)号是一个独特的15-17位数字序列号,用于识别每一部GSM和WCDMA网络的移动设备。它就像手机的身份证,帮助运营商追踪和管理设备。...

    Delphi实现android系统的步进电机控制.rar

     //Process p = Runtime.getRuntime().exec("su");  //然后,在向这个进程的写入要执行的命令,即可达到以root权限执行命令:  //dos.flush();  //或者用下面的方式:  //Runtime.getRuntime().exec&#...

Global site tag (gtag.js) - Google Analytics