我有两个Java程序:Demo1.java和Demo2.java
演示2.java
public class Demo2 extends Thread{
public void run(){
while(true){
System.out.println("Demo2 is running");
}
}
}
我想:
- 运行演示2
- 当演示 2 正在运行时,运行演示 1
- 从演示 1 中了解演示 2 是否正在运行。
我应该如何编写演示1.java?
如果我理解的话,你有两个程序,意味着两个独立的线程。因此,您可以像这样访问进程列表:
窗户:
try {
Process proc = Runtime.getRuntime().exec("process.exe");
BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
OutputStreamWriter oStream = new OutputStreamWriter(proc.getOutputStream());
oStream.write("process where name='process.exe'");
String line;
while ((line = input.readLine()) != null) {
if (line.contains("process.exe"))
return true;
}
input.close();
}
catch (Exception ex) {
// handle error
}
Linux:
try {
Process p = Runtime.getRuntime().exec(new String[] { "bash", "-c", "ps aux | grep process" });
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
if (line.contains("process")) {
// process is running
}
}
}
catch (Exception e) {
// handle error
}
希望对您有所帮助。