c++ - 如何在 C++ Linux 中执行程序

标签 c++ linux execl

我有一个cpp项目,它执行另一个程序。
这是我的测试:

int main() {
    execl("java -jar /pathOfJAR/myjar.jar", NULL);

    return 0;
}

我运行了这个项目,但一无​​所获。

然后我这样尝试:

execl("java", "-jar", "/pathOfJAR/myjar.jar");

我遇到了一个错误:

Error: Could not find or load main class .pathOfJAR.myjar.jar

但是,我可以在终端中运行命令:

java -jar /pathOfJAR/myjar.jar

我可以得到正确的结果。

如何使用execl函数或者我用错了函数?

最佳答案

尝试:

execl("/bin/java", "java", "-jar", "/pathOfJAR/myjar.jar", NULL);

请注意,“/bin/java”应替换为您的 java 解释器的完整路径,最容易通过 which java 确定。

关于c++ - 如何在 C++ Linux 中执行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34596353/

相关文章:

Android 原生 Parcel 使用

c++ - 如何创建属性存储二进制文件

python - subprocess.Popen 的平台独立示例

c - 自动检测 C 中的操作系统并处理其特定的换行符

c - 如何从另一个文件读取管道输入?

c - 执行权限被拒绝

c++ - 减少调试符号的占用空间(可执行文件膨胀到 4 GB)

linux - XFS 增长不工作

c++ - 由于地址错误导致执行失败

c# - 将 CRC 函数从 C++ 转换为 C#