java中通过端口杀进程命代码实现
时间: 2024-05-16 17:13:29 浏览: 138
杀系统进程专用,可根据端口号,杀死进程
在Java中可以通过Runtime类的exec()方法调用操作系统的命令行来实现杀死进程。下面是杀死指定端口的进程的代码示例:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class KillProcessByPort {
public static void main(String[] args) {
String command = "cmd /c netstat -ano | findstr :8080";
try {
// 执行命令
Process process = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
// 获取进程ID
String[] tokens = line.trim().split("\\s+");
String pid = tokens[tokens.length - 1];
// 杀死进程
Runtime.getRuntime().exec("taskkill /f /pid " + pid);
System.out.println("Process with PID " + pid + " has been killed.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
上述代码中,我们首先执行命令`netstat -ano | findstr :8080`来查找端口号为8080的进程,并将输出结果读入BufferedReader中。然后对输出结果进行处理,获取进程ID,并执行命令`taskkill /f /pid <pid>`来杀死进程。其中,/f参数表示强制杀死进程,/pid参数指定要杀死的进程ID。
阅读全文