Сейчас тестирую написанное и работающее у меня, под винду 2008
Нецензурных слов вспомнил просто бескрайнее множество.
Первый прикол.
Если выводить в stderr ошибки, то через некоторое время программа виснет. Вот хз почему. Хоть стой, хоть падай. Обычный System.err.println и кирдык строго в одном месте. Меняешь на System.out.println - работает. Индусы, конечно, но и в МС, уверен. В Linux все без проблем.
Второй прикол.
Process p = Runtime.getRuntime().exec(...); - хрясь, в некоторых случаях все переменные окружения null. Вот хз почему так... В Linux есть, в винде - нету. Хоть плачь...
Третий прикол.
Берем работающий код создания процесса, который ровно на этой же машине в скомпиленом виде работает. Компилим, запускаем - "что вы говорите, поставили кавычки вокруг параметра? тогда мы их убрали, а теперь передадим дальше, пусть программа подавится..."
убогая система!!! Когда же она подохнет...