首页 > 解决方案 > 通过从 JAVA 开始的 C++ 应用程序运行 Shell 脚本

问题描述

我的要求是启动一个在某个文件夹中运行一些 shell 脚本的 c++ 应用程序。c++ 应用程序是用 java 启动的。它尝试运行的脚本已被授予 chmod 777 访问权限,并且 jar 以 sudo 启动,而 util 从 jar 中以 sudo 启动。

我的问题是脚本无法运行 soemtimes 说脚本无法运行返回:512(脚本只是一个回显)我正在使用 getRuntime.exec 在 java 中运行所有命令行函数(我也尝试过 process builder)TLDR:jar 启动 c++应用程序 c++ 应用程序尝试运行 shell 脚本脚本有时会失败有人有任何建议或面临类似情况吗?

编辑 1 我还应该提到脚本是首先通过 java 下载的。然后只传递给 c++ 应用程序。c++ 实用程序适用于已经存在的脚本。我正在使用 apache http 客户端

标签: javac++ubuntush

解决方案


我设法解决了这个问题,当 C++ 应用程序尝试访问脚本时,有一个输出流仍然打开。


推荐阅读