📄 killprocess.java
字号:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;
public class KillProcess {
/**
* @param args
*/
public static void main(String[] args) {
try {
killByAppName("f.exe");
} catch (IOException e) {
e.printStackTrace();
}
}
public static void killByAppName(String applicationName) throws IOException {
String path = System.getProperty("user.dir");
path = "C:\\";
System.out.println(path);
final File createFileName = new File(path + "\\scriptName.vbe");
if (createFileName.exists()) {
if (createFileName.delete()) {
}
} else {
if (createFileName.createNewFile()) {
}
}
final PrintWriter pw = new PrintWriter(new FileWriter(createFileName, true), true);
pw.println("for each ps in getobject(\"winmgmts:\\\\.\\root\\cimv2:win32_process\").instances_");
pw.println("wscript.echo ps.handle&vbtab&ps.name");
pw.println("next");
pw.close();
final InputStream ii = Runtime.getRuntime().exec("cscript " + path + "\\scriptName.vbe").getInputStream();
final InputStreamReader ir = new InputStreamReader(ii);
final BufferedReader br = new BufferedReader(ir);
String str = null;
StringTokenizer st2 = null;
String pid = null;
while ((str = br.readLine()) != null) {
if (str.indexOf(applicationName) > 0) {
st2 = new StringTokenizer(str);
st2.hasMoreTokens();
pid = st2.nextToken();
System.out.println(pid);
killByPID(pid);
}
}
try {
ir.close();
ii.close();
br.close();
createFileName.delete();
} catch (final IOException e) {
e.printStackTrace();
}
}
public static void killByPID(String pid) throws IOException {
final String[] cmdArray = { "ntsd.exe", "-c", "q", "-p", pid };
final String[] cmdArray1 = { "taskkill.exe", "/PID", pid, "/T", "/F" };
int result = 0;
try {
Process process = Runtime.getRuntime().exec(cmdArray1);
process.waitFor();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (result != 0) {
try {
Process process = Runtime.getRuntime().exec(cmdArray);
process.waitFor();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -