java代码,查询linux中的指定进程号是否存在
时间: 2023-11-22 16:53:09 浏览: 58
Linux查看处理Java进程
可以使用Java的Runtime类来执行Linux命令,然后通过解析命令输出来判断指定进程号是否存在。
以下是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ProcessChecker {
public static boolean isProcessRunning(int pid) {
try {
// 执行ps命令获取进程列表
Process process = Runtime.getRuntime().exec("ps -p " + pid);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
// 如果输出中包含指定进程号,则说明进程存在
if (line.contains(Integer.toString(pid))) {
return true;
}
}
// 进程不存在
return false;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static void main(String[] args) {
int pid = 1234; // 指定进程号
if (isProcessRunning(pid)) {
System.out.println("进程存在");
} else {
System.out.println("进程不存在");
}
}
}
```
注意:需要在Linux环境下运行此代码。如果要在Windows环境下运行,需要修改命令为`tasklist /FI "PID eq pid"`。
阅读全文