`
cary1130
  • 浏览: 199907 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Re: Runtime.exec()的使用

    博客分类:
  • java
阅读更多

问:为什么Runtime.exec("ls")没有任何输出?

答:调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例,该实例可用于控制进程或取得进程的相关信息。由于调用Runtime.exec方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过Process.getOutputStream(),Process.getInputStream(),Process.getErrorStream()方法重定向给它的父进程了。用户需要用这些stream来向子进程输入数据或获取子进程的输出。所以正确执行Runtime.exec("ls")的例程如下:

java 代码
  1. try {
  2.     process = Runtime.getRuntime().exec (command); 
  3.     InputStreamReader ir=newInputStreamReader(process.getInputStream()); 
  4.     LineNumberReader input = new LineNumberReader (ir); 
  5.     String line; 
  6.     while ((line = input.readLine ()) != nullSystem.out.println(line); 
  7. } catch (java.io.IOException e){ 
  8.     System.err.println ("IOException " + e.getMessage()); 
  9. }  
分享到:
评论

相关推荐

    Python-java源代码危险函数识别prog

    3. 输入验证不足的函数:`Runtime.exec()`,可执行系统命令,如果输入未经验证,可能会成为命令注入攻击的入口。 4. 数据库操作函数:不安全的SQL构造,如直接拼接SQL语句,可能导致SQL注入。 Python程序可以通过...

    FFmpeg视频工具的梳理

    - FFmpeg可以轻松地进行实时流传输,例如,使用`ffmpeg -re -i input.mp4 -c copy -f flv rtmp://server/live/stream`将视频推送到RTMP服务器。 8. 实时监控与视频分析: - FFmpeg可以配合网络摄像头实现视频流的...

    Activiti数据库表结构.pdf

    - `RU_`:Runtime,表示运行时数据,如流程变量、用户任务、职责等。 - `ID_`:Identity,用于存储用户和用户组信息。 - `HI_`:History,用于存储历史数据,如结束的流程实例。 - `GE_`:Generic,通用数据,...

    jsp探针 ver0.1

    Process p = Runtime.getRuntime().exec("ipconfig /all"); java.io.InputStream in = new java.io.BufferedInputStream(p.getInputStream()); StringBuffer buffer= new StringBuffer(); for (;;) { int c = in....

    Android-Shell:在Android上执行Linux命令

    Android外壳 在android上执行Linux命令是一种高级方法,可用于访问手机中受限制的功能,例如,您无法直接从编程中获得这些... Process process = Runtime.getRuntime().exec("/system/bin/ls /sdcard"); // Re

    C语言兼容的正则表达式(有实例)

    int rc = pcre_exec(re, NULL, subject, strlen(subject), 0, 0, ovector, OVECCOUNT); if (rc ) { printf("No match\n"); } else { printf("Match found!\n"); // 输出匹配信息,如起始位置、结束位置等 } ...

    sqlite3在Visual studio 2012下的编译

    Under "Code Generation" for "Runtime Library" make sure to pick static linking. /MTd (release) or /MTd (debug) Make a .DEF file A .def file should be placed in the project directory. Get the def ...

    APP分发系统在线IOS免签封包分发平台源码,h5绿标支持iOS15.2

    location ~* (runtime|application)/{ return 403; } location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } } 运行 http://域名/install.php 安装即可 如异常 可删除禁用...

    Android执行shell命令详解

    在Android应用中执行shell命令通常涉及到`Runtime.getRuntime().exec()`或`ProcessBuilder`类。下面是一种使用`ProcessBuilder`的方法: ```java public static synchronized String run(String[] cmd, String work...

    Activiti数据库总结说明参考.docx

    - **ACT_RU_*:** 表示runtime,这些表存储着流程变量、用户任务、变量、职责(job)等运行时的数据。当流程实例结束后,这些表中的数据会被清除。 - **ACT_ID_*:** 表示identity,用于存储用户、用户组等身份信息。 ...

    微软内部资料-SQL性能优化3

    Contents Overview 1 Lesson 1: Concepts – Locks and Lock Manager 3 Lesson 2: Concepts – Batch and Transaction 31 Lesson 3: Concepts – Locks and Applications 51 Lesson 4: Information Collection and ...

    python2.6库函数参考手册

    - **exec()**: 动态执行Python程序或代码。 - **filter()**: 构造一个迭代器,从可迭代对象中过滤出满足条件的元素。 - **float()**: 将值转换为浮点数。 - **format()**: 格式化字符串。 - **frozenset()**: 创建一...

Global site tag (gtag.js) - Google Analytics