c++在execv中运行grep搜索可执行路径
C++ running grep in execv searches for executable path
argv = {'/usr/bin/grep', '/usr/bin/grep', '-ri', 'test', '.', 0}
pid_t pid = fork();
if (pid == 0) {
execv(argv[0], argv);
exit(0);
}
else {
wait(NULL);
}
这是我的代码。我只是想让grep命令运行起来。我遇到的问题是,它认为第二个/usr/bin/grep是搜索模式。
我试图改变argv数组只包含一个/usr/bin/grep,但错误,不运行grep。任何帮助吗?
execv
将命令作为第一个参数,因此您需要"usr/bin/grep"
而不是argv[0]
,这是您正在运行的程序。也从argv
中删除第一个参数。
我也会检查grep
是否在/usr/bin
中,它通常在/bin
中。
相关文章:
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- CMake:如何将库 A 链接到库 B,然后将可执行文件链接到库 A
- 如何使字符串出现在编译的二进制可执行文件的开头?
- 程序在使用 system() 启动另一个可执行文件时停止
- 如何更改使用 CPack 安装的可执行文件的名称?
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- CMake:我们可以为一组不形成可执行文件或库的特定文件指定包含目录吗?
- 如何将图像传入C++可执行文件并将输出图像存储在新目录中?
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- 如何在 linux 可执行文件中使用静态库
- 错误:当我从"WinDbg"打开可执行文件时,找不到符号文件。默认导出 ntdll 的符号.dll
- 编译的C可执行文件被Windows defender检测为病毒
- Linux 可执行文件通过 dlopen 在emplace_back崩溃打开共享库
- 是否可以在命令行中将输入参数传递给可执行文件
- 在英特尔C++编译器 (Linux) 的配置搜索路径中找不到文件可执行文件
- C++通过windows搜索路径查找可执行文件
- 在运行可执行文件时设置库的搜索目录
- 我如何使用find_package使可执行搜索.dll二进制文件
- c++在execv中运行grep搜索可执行路径