Ich habe 5 Dienste in file.bat
3 läuft und 2 gestoppt. Ich mag 3 Erfolg grün Test haben und 2 rotenWie kann nicht angezeigt werden, wenn Service läuft Test grün
ich glaube, das Problem mit meinem var ligne
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Cmd {
static String a = null;
static String ligne = "";
public final String output = null;
static String CHEMIN = "vvvvvvvvvv";
private static BufferedReader getOutput(Process p)
{
return new BufferedReader(new InputStreamReader(p.getInputStream()));
}
private static BufferedReader getError(Process p)
{
return new BufferedReader(new InputStreamReader(p.getErrorStream()));
}
static public String Stateprocess()
{
if (ligne.contains("RUNNING")) {
a = "RUNNING";
System.out.println("ok");
} else {
a = "STOPPED";
System.out.println("no");
}
return a;
}
public boolean ping(String CHEMIN)
{
int exitValue = 1;
try {
String[] commande = {"cmd.exe", "/C", CHEMIN + "test-sc.bat"};
Process p = Runtime.getRuntime()
.exec(commande);
BufferedReader output = getOutput(p);
BufferedReader error = getError(p);
while ((ligne = output.readLine()) != null) {
System.out.println(ligne);
// System.out.println(ligne.contains("STOPPED"));
}
while ((ligne = error.readLine()) != null) {
System.out.println(ligne);
}
exitValue = p.waitFor();
}
catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
return exitValue == 0;
}
public static void main(String[] args)
{
Cmd exemple = new Cmd();
boolean trouve = exemple.ping(CHEMIN);
System.out.println(trouve);
}
}
Es ist nicht klar, was Sie fragen. Bitte erläutern Sie mehr. – freedev