无法运行可执行文件
Can't run execv
我一直在尝试使用ExEVP运行命令,如下所示:
char *args[11];
args[0] = (char*)lgulppath.c_str();
args[1] = (char*)"-i";
args[2] = (char*)sniffer_interface.c_str();
args[3] = (char*)"-r";
args[4] = (char*)pcapfileLimit.c_str();
args[5] = (char*)"-C";
args[6] = (char*)"1";
args[7] = (char*)"-f";
args[8] = (char*)serverip_filter.c_str();
args[9] = (char*)"-o";
args[10] = (char*)lpipepath.c_str();
execv("/usr/sbin/program",args);
这有效。但是,当我想将第一个参数"/usr/sbin/program"作为参数时:
string str = "/usr/sbin/program";
//char* args is assigned as above
execv(str.c_str(),args);
这失败并返回-1。我不明白为什么。
谢谢大家
null终止您传递给execv的参数。像
char *args[12];
// other args..
args[11] = (char*) 0;
相关文章:
- 无法在 Linux 上运行C++ ZMQ 项目的可执行文件
- 在 c++ 托管和异步运行中调用 c# 可执行文件
- 为什么C++可执行文件在与较新的libstdc++.so链接时运行得更快?
- 在终端中运行可执行文件与在Mac查找器中打开
- 在 Linux 上没有 /proc/self/exe 的 C/C++ 运行时可执行文件的大小?
- 运行自定义可执行文件,QProcess 立即退出,退出代码为 1
- C++ 可执行文件在运行时找不到库,即使它在 /usr/lib 中(在 Linux 上)
- 尝试运行可执行文件时出现分段错误
- 在 Qt 中将 x 可执行文件作为按钮事件运行时出错
- 使用 CodeBlocks + GCC 构建的可执行文件是否可以在任何 Windows 上运行?
- 程序'main.exe'运行失败:指定的可执行文件不是此操作系统平台的有效应用程序
- 运行可执行文件时找不到共享库,即使共享库存在于指定的路径中
- 如何使用相同的可执行文件在后台运行 3 个 QProcess
- 通过运行可执行文件来制作可执行文件
- 如何直接在安卓设备上作为可执行文件运行简单的 c++ 程序?
- Bash 代码,仅在当前可执行文件完成运行时在循环中运行可执行文件
- 是否可以在特定日期后没有运行可执行文件
- LD_BIND_NOW可以使可执行文件运行得更慢?
- G++ 和 CL(VS2017) 都编译成功,但 cl 编译的可执行文件运行异常
- 通过Linux命令行执行时,可执行文件运行正常 - 调用C System()命令时运行时错误