-2
我得到下面的代碼。它檢查程序是否正在運行。如果程序沒有運行,它會再次檢查它,直到它發現程序正在運行以結束循環。而事情是我不知道如何循環它。等待程序運行
public class Test {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
String line;
String pidInfo ="";
Process p =Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe");
try (BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
while ((line = input.readLine()) != null) {
pidInfo+=line;
}
}
while(pidInfo == "msiexec.exe")
if(pidInfo.contains("msiexec.exe")) {
System.out.println("Notepad is running");
TimeUnit.SECONDS.sleep(120);
} else {
System.out.println("Notepad is not running");
loop
}
}
}
但輸出爲空。任何人都可以告訴我我的代碼有什麼問題嗎?任何幫助,將不勝感激。
我想第二個循環來檢查msiexec.exe是否正在運行。如果它沒有運行,它會再次循環來檢查它是否運行。如果找到指定的進程運行,則循環將終止。我上面編輯了我的代碼。 有沒有其他的代碼呢? –
你不需要第二次循環!您已經在單個字符串中捕獲了每個任務名稱。然後,只要測試該字符串是否包含您的任務名稱。 –