【发布时间】:2012-08-22 20:28:22
【问题描述】:
我正在尝试执行以下操作:
execl("/bin/grep","grep","print",fd,NULL);
其中 fd 是文件描述符。
所以基本上这应该在 fd 指向的文件中 grep 为“打印”。
尽管我没有收到编译错误/警告,但它似乎不起作用。
当我给出"Something.txt" 之类的文件名而不是fd 时,它可以工作
谁能告诉我为什么这不起作用? (我知道 execl 只需要 const char arg* 但正如我所说,没有编译错误/警告)。
【问题讨论】:
-
execl是一个可变参数函数,因此不会对参数进行检查——你可以传递几乎任何东西而不会给出错误或警告。
标签: c grep exec file-descriptor unistd.h