У меня есть Java-программа, которая должна запускать интерактивную программу C с интерфейсом командной строки на переднем плане. Мне нужно, чтобы это работало как в Windows, так и в Linux.Как запустить интерактивную программу интерфейса командной строки из Java?
В Windows все работает нормально. Я могу запустить свою программу на переднем плане с cmd
следующим образом:
command = "cmd /c start \"My_C_Program\" /MAX /WAIT My_C_Program ";
theProcess = Runtime.getRuntime().exec(command);
В Linux, я не могу сделать то же самое с /bin/bash
. Независимо от того, что я стараюсь, процесс всегда работает в фоновом режиме:
String[] commands = { "/bin/bash", "-c", "./My_C_Program" };
theProcess = Runtime.getRuntime().exec(commands);
Я знаю, что я могу получить выход из фонового процесса, но это бесполезно, так как программа является интерактивной.
Любая помощь была бы принята с благодарностью. Даже сложные обходные пути :)
'bash' - это оболочка не оконная программа, попробуйте с помощью' xterm' или что-то окно –
@RC. Благодарю. Это была проблема. – Ahmad