我有一个Java程序,需要在前台启动一个交互式命令行界面C程序。我需要它在Windows和Linux中都能工作。
在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);
我知道我可以从后台进程检索输出,但这是无用的,因为程序是交互式的。
如有任何帮助,将不胜感激。甚至是精心设计的变通方法:)