Почему x-эмулятор-терминала иногда выходит на запуске и иногда нет?

Из моей программы Java я запускаю x-терминал. Java ожидает команды x-терминала для запуска. (Это - эмулятор Хранилища данных для разработчиков.)

Process proc = Runtime.getRuntime().exec("/usr/bin/x-terminal-emulator -e gcloud beta emulators datastore start");
proc.waitFor();

В некоторых машинах разработчика Ubuntu, process.waitFor() возвраты, как только команда запускается. (Команда продолжает работать в том терминале.) Это - намеченное поведение.

В других машинах разработчика Ubuntu, process.waitFor() блоки постоянно и никогда не возвращаются. (Но терминальная команда запустилась, и если мы уничтожаем основной процесс Java, та терминальная команда продолжается, как это должно.)

Что может вызвать это различие в поведениях?

1
задан 4 October 2018 в 16:25

1 ответ

/usr/bin/x-terminal-emulator символьная ссылка, которая может указать на многие различные реализации терминала на такой как gnome-terminal или konsole среди других. Каждый терминал может иметь свою собственную логику, но некоторым программам свойственно открыть "ведущий" процесс, который открывает первый раз затем на последующем, просто говорят уже рабочему процессу порождать другой терминал или открывать другую вкладку.

2
ответ дан 7 December 2019 в 13:21

Другие вопросы по тегам:

Похожие вопросы: