调用execl时未找到Grep
Grep not found when call execl
我这里有一些C++代码。我想在linux中执行grep程序。编译时没有错误。
com.append("grep");
execl(com.c_str(), "-n", "-w", word.c_str(), list_files.at(i + 1).c_str(), NULL);
但是当我执行我的c++程序时,什么都没有。然后我想用errno查找错误。
结果是2,我知道这意味着他找不到这个程序。
但是我应该怎么做才能从我的c++程序启动grep呢?
execl()
不在$PATH
中搜索可执行文件。为其提供grep
命令的完整路径,或者使用搜索$PATH
的execlp()
。
man execl
了解更多信息。
也许找不到二进制文件。
-
在附加之前检查com包含的内容(它应该包含正确的路径,如
/usr/bin/
,带有尾随路径分隔符…( -
尝试使用"/usr/bin/grep"代替
相关文章:
- 查找定义我的 C/C++ 函数/宏的文件比'grep'更简单的方法
- 如何在execl中使用标准输入'<'?
- iwlist 在使用 execl 调用时尝试扫描所有接口
- C++ fork() 和 execl() 调用 (Linux) 后无法识别命令
- 文本文件中的 grep 字符串,并将它们复制到 CMake 中的目录中
- execl() 的参数传递到哪里
- Win32 C API:替代损坏的execl*()系列函数?
- Linux获取通过execl脚本启动的程序的PID
- 将Execl命令的结果(是目录列表)输送到父进程
- 如何对包含 "->" 的字符串进行 grep
- Linux fork - execl,执行的进程变成僵尸
- Ubuntu 中的 execl() 参数
- execl() 返回“无法打开或解析参数”错误
- 我如何grep通过所有文件#包括在文件中当前打开的vim
- execl没有运行编程
- 如何将实用程序 (grep/sed) 的返回值分配给数组
- 如何在fork()中使用execl()并杀死它
- C++ Android 上的代码 - execl() 函数调用失败
- Using grep with execl()
- 调用execl时未找到Grep