【问题标题】:Executing java from c++ in linux在linux中从c ++执行java
【发布时间】:2015-01-28 12:37:29
【问题描述】:

我对 linux 中的 c++ 编程非常陌生,我想从 c++ 执行 java 程序。当我这样做时:

int main() {

    system("java -jar /home/user/test/test.jar argument");
    cout << "The end" << endl;
    return 0;
}

我的主进程一直等到 java 完成,然后继续。有什么方法可以在不停止主进程的情况下“触发”java?提前谢谢!

【问题讨论】:

  • 使用 JNI 在你的进程中创建一个 JVM。
  • 您也许可以通过命令行在后台运行它system("java -jar /home/user/test/test.jar argument &gt; /dev/null 2&gt;&amp;1 &amp;"); 我不知道这是否可行,但可能值得一试。
  • Tnx,我试过了,但是它没有运行java,它只是跳转到“结束”行
  • @KerrekSB,我没提过,我是在ARM7 linux上做的,能力有限,不知道能不能试试你的方法,谢谢你的努力:)
  • 分叉一个新进程不是一种选择,对吧?

标签: java c++ linux system


【解决方案1】:

在命令末尾添加一个 & 应该分叉它并允许您的程序继续运行,如下所示:

int main() {
system("java -jar /home/user/test/test.jar argument &");
cout << "The end" << endl;
return 0;}

我有类似的东西,它工作正常。

【讨论】:

  • 非常感谢,这就像一个魅力,谢谢你们的快速响应!
  • 没问题。很高兴我能帮上忙。
猜你喜欢
  • 1970-01-01
  • 2015-08-16
  • 2012-10-09
  • 2011-06-11
  • 1970-01-01
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多