java启动一个进程_java启动一个进程、杀***一个进程、显示当前进程

这篇博客详细介绍了如何在Java中使用Runtime类执行DOS命令,包括启动、关闭进程,以及检查进程是否存在。通过示例代码展示了如何执行如taskkill、killall等命令来管理和终止进程,同时提供了检查特定进程是否存在的方法。
摘要由CSDN通过智能技术生成

Runtime.getRuntime().exec("game\\s.exe")Runtime.getRuntime().exec("cmd.exe /c start C:\\clean.bat(这个文件改成你做好的批处理文件)");

System.getProperties( "java.home");//获取java安装路径

用Runtime类可以执行DOS命令来执行一个进程,如下就是打开记事本: try { Runtime runtime = Runtime.getRuntime(); runtime.exec("notepad.exe"); } catch (IOException e) { e.printStackTrace(); }

使用java终止一个进程

Runtime.getRuntime().exec("taskkill /f /t /im java.exe"); taskkill /f /im  java.exe  /t

public static void main(String[] args) {          Runtime rt = Runtime.getRuntime();          String[] command1=new String[]{"cmd","cd","C://Program Files//Thunder"};          String command = "taskkill /F /IM Thunder5.exe";              try          {            rt.exec(command1);//返回一个进程            rt.exec(command);            System.out.println("success closed");          }          catch (IOException e)          {            e.printStackTrace();          }      }

windows :

Runtime.getRuntime().exec('taskkill /F /IM abc.exe');

帮助: 运行cmd输入taskkill -?

linux:

Runtime.getRuntime().exec('killall -9 abc.exe');

java中就是Runtime.getRuntime().exec("ntsd -c q -pn Notepad.exe");

java判断进程是否存在

public  boolean getProcess(){

boolean flag=false;

try{

Process   p   =   Runtime.getRuntime().exec( "cmd   /c   tasklist ");

ByteArrayOutputStream   baos   =   new   ByteArrayOutputStream();

InputStream   os   =   p.getInputStream();

byte   b[]   =   new   byte[256];

while(os.read(b)> 0)

baos.write(b);

String   s   =   baos.toString();

// System.out.println(s);

if(s.indexOf( "Besttone.exe ")>=0){

System.out.println( "yes ");

flag=true;

}

else{

System.out.println( "no ");

flag=false;

}

}catch(java.io.IOException   ioe){

}

return flag;

}

//杀掉进程

public static void main(String[] args){try{String[] cmd ={"tasklist"};Process proc = Runtime.getRuntime().exec(cmd);BufferedReader in =new BufferedReader(new InputStreamReader(proc.getInputStream()));String string_Temp = in.readLine();while (string_Temp !=null){System.out.println(string_Temp);if(string_Temp.indexOf("notepad.exe")!=-1)Runtime.getRuntime().exec("Taskkill /IM notepad.exe");string_Temp = in.readLine();}}catch (Exception e){}

//启动进程,查所有进程,杀进程

package com.ffshi.util;

import java.io.IOException;

import java.util.Scanner;

public class JavaWindowsCommandUtil {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

// startTask("E://Fetion//Fetion.exe");

killTask("javaw");

}

/**

* 杀死一个进程

*

* @param task

*/

public static void killTask(String task) {

try {

Process process = Runtime.getRuntime().exec("taskList");

Scanner in = new Scanner(process.getInputStream());

int count = 0;

while (in.hasNextLine()) {

count++;

String temp = in.nextLine();

if (temp.contains(task)) {

String[] t = temp.split(" ");

// 判断该进程所占内存是否大于20M

if (Integer.parseInt(t[t.length - 2].replace(",", "")) > 20000) {

temp = temp.replaceAll(" ", "");

// 获得pid

String pid = temp.substring(9, temp.indexOf("Console"));

Runtime.getRuntime().exec("tskill " + pid);

// dos下开cmd窗口 ntsd -c q -p PID

// Runtime.getRuntime().exec("ntsd -c q -p 1528");

}

}

// System.out.println(count + ":" + temp);

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

/**

* 显示当前机器的所有进程

*/

public static void showTaskList() {

try {

Process process = Runtime.getRuntime().exec("taskList");

Scanner in = new Scanner(process.getInputStream());

int count = 0;

while (in.hasNextLine()) {

count++;

System.out.println(count + ":" + in.nextLine());

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

/**

* 启动一个进程

*

* @param task

*/

public static void startTask(String task) {

try {

Runtime.getRuntime().exec(task);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值