Я создаю процесс на Windows из Java. Моя проблема в том, что этот процесс не прекращается. Вот пример программы:
import java.io.IOException;
public class Test {
/**
* @param args
* @throws IOException
* @throws InterruptedException
*/
public static void main(String[] args) throws IOException,
InterruptedException {
Process process = Runtime.getRuntime().exec("cmd /c dir");
process.waitFor();
}
}
По независящим от меня причинам эта программа никогда не завершается. Это верно, если «cmd / c dir» заменяется на ipconfig, а также на другие вещи.
Я вижу, используя ProcessExplorer, что Java создает процесс cmd. Этот образец, очевидно, является упрощением; в моей исходной программе я обнаружил, что если через некоторое время я вызываю process.destroy () и проверяю вывод процесса cmd, команда выполняется успешно.
Я пробовал это с различными версиями Java 1.5 и 1.6. Моя ОС - Windows XP Pro, SP 2.