`
diddyrock
  • 浏览: 46191 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

java process

阅读更多
此博估计唯一一个完整可编译的代码哈哈

import java.io.*;
import java.util.*;

//Commons Logging imports
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


public class TestProcess{

public static final Log LOG = LogFactory.getLog(TestProcess.class);

    public static int doWaitFor(Process p) { 
       int exitValue = -1; // returned to caller when p is finished 
       try { 
    
            InputStream in = p.getInputStream();
            InputStream err = p.getErrorStream(); 
            boolean finished = false; // Set to true when p is finished 
     
            while(!finished); { 
               try { 
                   while( in.available() > 0) { 
                       // Print the output of our system call 
                       Character c = new Character( (char) in.read()); 
                       System.out.print( c); 
                   } 
                   while( err.available() > 0) { 
                       // Print the output of our system call 
                       Character c = new Character( (char) err.read()); 
                       System.out.print( c); 
                   } 
    
                   // Ask the process for its exitValue. If the process 
                   // is not finished, an IllegalThreadStateException 
                   // is thrown. If it is finished, we fall through and 
                   // the variable finished is set to true. 
                   exitValue = p.exitValue(); 
                  finished = true; 
               } 
               catch (IllegalThreadStateException e) { 
                   // Process is not finished yet; 
                   // Sleep a little to save on CPU cycles 
                   Thread.currentThread().sleep(500); 
               } 
           } 
       } 
       catch (Exception e) { 
           // unexpected exception! print it out for debugging... 
          System.err.println( "doWaitFor();: unexpected exception - " + 
           e.getMessage()); 
       } 
    
       // return completion status to caller 
       return exitValue; 
}



public static void main(String args[]){



String[] cmd = {"/temp/single.sh","656.gif"};
File directory = new File("/temp/");

ProcessBuilder pb = new ProcessBuilder(cmd);

pb.directory(directory);
Map<String,String> map = pb.environment();
pb.redirectErrorStream(true);
try{
Process process = pb.start();
int exit = process.waitFor();
//int exit = TestProcess.doWaitFor(process);
System.out.println(exit);
}catch(Exception e){
e.printStackTrace();
}


}
}
分享到:
评论

相关推荐

    JAVA Process 使用

    在Java编程语言中,`Process`类是处理操作系统进程的核心组件。它允许Java应用程序与操作系统交互,执行外部命令,例如运行系统工具或者控制其他应用程序。本文将深入探讨`JAVA Process`的使用,以及如何通过Java...

    Java Process Manager

    Java Process Manager是一个基于Java语言开发的工具,它利用JNI(Java Native Interface)技术与Windows 32 SDK(Software Development Kit)进行交互,旨在提供类似操作系统任务管理器的功能,特别是针对Java进程的...

    Image-Process.rar_Java process-Thread_image process java_java im

    "Image-Process.rar_Java process-Thread_image process java_java im"这个标题暗示了我们将探讨如何在Java中处理图像,特别是涉及线程管理和多线程图像处理。 首先,让我们了解Java中的图像处理基础。Java提供了`...

    Java Process命令小全

    Java Process命令小全 Java Process命令小全是Java中的一种命令,用于执行操作系统的命令。通过Runtime.getRuntime().exec(commandStr)方法可以调用执行cmd指令。 cmd命令是Windows操作系统中的命令行工具,用于...

    Java Process类的详解及实例代码

    Java中的`Process`类是用于表示操作系统级别的进程的抽象类。这个类允许Java应用程序与操作系统交互,执行系统命令,例如启动新的进程、读取进程的输出流、写入进程的输入流以及控制进程的生命周期。在Java中,我们...

    Java Process详解及实例

    Java Process详解及实例 Java Process是Java语言中一个重要的概念,它允许Java程序与外部进程进行交互。通过Java Process,可以实现对外部命令的调用、文件操作、系统设置等功能。 在Java中,Process类是Java ...

    Java Process Utils (Forker):用于更好地控制外部进程的 Java 库-开源

    Forker 是一个 Java 库,可让您更好地控制外部进程并提供 ProcessBuilder 的替代品。 该库基本上有 3 个主要组件: ForkerClient 替换 ProcessBuilder 只需构建一个进程,让 Forker 处理检查退出代码和重定向或捕获...

    内存动态分区Java - process类

    实现内存动态分区,运用Java语言,一共四个类,这是process类

    Java Process Control Part4.md

    我的文章《Java学习笔记第12期——Java流程控制Part4》配套笔记文件 文章地址:https://blog.csdn.net/lbwnbnbnbn/article/details/115283249

    Java通过进程名称杀进程

    这里通过`cmd.exe`调用`wmic`命令,传入参数`process where name='java-test.exe' call terminate`来终止名为`java-test.exe`的进程。 - `IOException`处理:如果执行命令时出现错误,如无法找到命令或权限不足等...

    Java Process Control Part2.md

    我的博文《笔记分享第10期——Java流程控制Part2》配套笔记文件 博文地址:https://blog.csdn.net/lbwnbnbnbn/article/details/114793246

    Java Process Control Part1.md

    我的博文《笔记分享第08期——Java基础语法Part7》配套笔记文件 博文地址:https://blog.csdn.net/lbwnbnbnbn/article/details/114228227

    Java Process Control Part3.md

    我的博文《笔记分享第11期——Java流程控制Part3》配套笔记文件 博文地址:https://blog.csdn.net/lbwnbnbnbn/article/details/115022893

    java调用windows命令

    Java提供了Runtime类和Process类来实现这一功能。以下是如何使用Java调用Windows命令行的详细步骤和注意事项: 1. **调用外部程序** - 使用`Runtime.getRuntime().exec()`方法创建一个子进程来执行指定的可执行...

    java实现读取硬件信息

    在Java编程语言中,获取硬件信息是通过操作系统提供的接口或者第三方库来实现的。下面将详细介绍如何使用Java来实现读取计算机的硬件信息。 首先,Java标准库并不直接支持读取硬件信息,如CPU型号、内存容量、硬盘...

    java执行可执行文件或批处理

    ### Java执行可执行文件或批处理 在Java中执行外部可执行文件或批处理脚本是一种常见的需求,尤其是在需要调用系统级别的工具或者与操作系统进行交互时。通过Java的`Runtime`类及其提供的方法,我们可以方便地实现...

    java 使用dos命令详解

    Java提供了`Runtime`类以及其子类`Process`来实现对操作系统的调用。其中,`Runtime.getRuntime().exec(command)`是执行外部程序的主要方法,它可以创建一个新进程并返回一个`Process`对象,用于控制该进程或获取其...

    java 结束word进程

    在Java编程环境中,有时我们需要操作操作系统级别的任务,例如在运行某些程序或自动化脚本时,可能需要结束掉后台运行的Microsoft Word进程。这个过程涉及到Java的进程管理和操作系统交互。下面将详细讲解如何在Java...

    Java使用FFmpeg实现mp4转m3u8

    在Java程序中,你需要监听`process`对象的输入流和错误流,以便获取转换过程中的输出信息和可能出现的错误。 5. 前端页面集成: 转换完成后,前端页面可以通过HTML5的`&lt;video&gt;`标签和`source`标签来播放`M3U8`流...

    java 定时备份数据库

    在Java编程环境中,我们可以利用Java的定时任务框架如ScheduledExecutorService或者第三方库Quartz来实现MySQL数据库的定时备份。MySQL数据库备份通常涉及到两种主要的方法:全量备份和增量备份。全量备份是复制整个...

Global site tag (gtag.js) - Google Analytics