小编Kaz*_*aIB的帖子

在c中执行不带任何选项的命令“cat”

如果没有给出任何参数或重定向使用,cat 命令将从标准输入中读取。但是当我用它执行它时,execve()它的行为并不像在 bash 中那样。

代码:

#include <unistd.h>
#include <fcntl.h>

int main(int ac, char **av, char **env)
{
    char *args[] = {"/bin/cat",NULL};
    int ps = fork();
    if (!ps)
        execve("/bin/cat",args, env);
}
Run Code Online (Sandbox Code Playgroud)

输出 :

cat: stdin: Input/output error
Run Code Online (Sandbox Code Playgroud)

我尝试不带参数运行它,但它返回一个错误。

c unix posix process execve

2
推荐指数
1
解决办法
738
查看次数

标签 统计

c ×1

execve ×1

posix ×1

process ×1

unix ×1