Java Process destroy方法kill进程,返回码测试
时间:2022-04-27
本文章向大家介绍Java Process destroy方法kill进程,返回码测试,主要内容包括Java代码:、测试shell脚本:、总结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
Java代码:
package com.spiro;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
String command = args[0];
System.out.println("Running command [" + command + "]");
try {
final Process process = Runtime.getRuntime().exec(command);
Thread t1 = new Thread() {
@Override
public void run() {
try {
int exitCode = process.waitFor();
System.out.println("Process exit with code [" + exitCode + "]");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
Thread t2 = new Thread() {
@Override
public void run() {
System.out.println("Waiting 2 seconds.");
try {
Thread.sleep(2000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
process.destroy();
System.out.println("Process destroyed");
}
};
t1.start();
t2.start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
测试shell脚本:
#!/bin/sh
echo "abc--1"
sleep 3s
echo "abc--2"
sleep 3s
echo "abc--3"
执行:
java com.spiro.Main "sh /tmp/test.sh"
结果:
Running command [sh /tmp/test.sh] Waiting 2 seconds. Process destroyed Process exit with code [143]
总结
通过 destroy 方法可以kill进程,并可以得到非0得返回码
- ASP.NET MVC的Model元数据提供机制的实现
- 清官难断家务事,人工智能却来介入家庭伦理大戏
- 使用Symfony的Console组件构建命令行程序
- 微软编程教育都在搞什么?从code.org到makecode,从Minecraft到Micro:bit
- 谷歌:通往完全自动驾驶之路
- 随时随地部署Kubernetes
- 使用CoreOs,Docker和Nirmata来部署微服务风格的应用程序
- 使用ACS和Kubernetes部署Red Hat JBoss Fuse
- 教你快速安装OpenShift容器平台3.6
- 面向开发者的Cloud Foundry
- 云数据库安全与农场和餐馆:知道来源的重要性
- 云数据库安全,农场和餐馆:知道你的来源的重要性
- NO.32 不堪重负:线程池拒绝策略
- 工厂模式进阶之Android中工厂模式源码分析
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释