В настоящее время я работаю над веб-приложением, которое включает в себя монтирование диска и извлечение файла tar.gz, все на Java. Поскольку приложение работает в среде Linux, я решил попробовать использовать команды Unix, такие как «mount» и «tar».
Runtime runtime = Runtime.getRuntime();
Process proc;
String mountCommand = "mount -t cifs -o username=...";
String extractCommand = "tar xzf ..."
proc = runtime.exec(mountCommand);
proc.waitFor();
proc = runtime.exec(extractCommand);
proc.waitFor();
Выполнение команды mount и команды извлечения в терминале работает нормально, но происходит сбой при ПЕРВОМ запуске в java. Второй proc.waitFor() возвращает код выхода 2. Однако запуск этого кода после первой неудачной попытки работает нормально. У меня такое ощущение, что проблема в том, что waitFor() не ждет, пока команда монтирования не будет полностью завершена. Я пропустил что-то важное в своем коде?
Кроме того, я бы предпочел сделать все это на Java, но мне было очень трудно понять, как распаковать файл, поэтому я использую этот подход. (о, если кто-нибудь может сказать мне, как это сделать, я был бы очень рад). Любые предложения будут оценены muuuuuuuuuuch!