当前位置: 首页 > 面试题库 >

如何启动具有标准bash shell环境的Java进程?

潘嘉颖
2023-03-14
问题内容

我曾尝试研究流程生成器,但不确定如何将bash环境引入流程。

例如,我使用以下代码启动我的流程:

Process p = new ProcessBuilder(args).start();
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);

而且我想将我的标准外壳环境(来自/etc/profile、.bashrc等)源于该进程。

抱歉,如果我使用的术语不正确-仍在学习Java。

在此先感谢您的帮助!


问题答案:

您需要使用ProcessBuilder设置外壳程序调用。执行以下命令:

/bin/bash -l -c "The entire command line that you want to execute"


 类似资料:
  • 我得到这个雄猫错误: 有什么问题?我使用的是Apache Tomcat 7,使用了以下4个catalina JAR: 卡特琳娜.jar 卡特琳娜蚂蚁.jar 卡塔利娜哈.jar 卡塔利娜部落.jar 是否缺少其他JAR文件?

  • 我使用的是p=运行时。getRuntime()。exec(“myScript.sh”);作为按钮a的addActionListener(new ActionListener())的actionPerformed(ActionEvent evt)的一部分。 我想有一个方法来终止进程。我试图创建另一个按钮(按钮B)来调用p.destroy()。但是,看起来在单击按钮A后,它启动了进程,并且只有在进程完

  • 问题内容: 我相信在环境稍有修改的情况下运行外部命令是很常见的情况。这就是我倾向于这样做的方式: 我感觉到有更好的办法了。看起来还好吗? 问题答案: 我认为如果你不打算为当前过程修改会更好:

  • 问题内容: 对于大型Java应用程序,默认的64 MB最大堆内存可能很小。是否有任何applet参数可用于对已签名的applet进行递增? 对于Java程序,这是一个简单的命令行参数,但是它对于浏览器中的applet的工作方式。 问题答案: JDK6u10中的新插件体系结构支持此功能。在此之前,唯一的方法是在Java控制面板中。

  • 环境准备 请参考环境准备

  • 安装redis yum install -y redis 安装mysql yum install -y mysql-server 注意,请确保redis和MySQL已启动。 初始化MySQL表结构 cd /tmp/ && git clone https://github.com/open-falcon/falcon-plus.git cd /tmp/falcon-plus/scripts/m