首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux |C语言中的Shell实现|不显示输入重定向

Linux |C语言中的Shell实现|不显示输入重定向
EN

Stack Overflow用户
提问于 2012-11-26 18:36:46
回答 1查看 1.8K关注 0票数 1

我用C语言实现了shell,在实现重定向操作时,我看到输出重定向运行良好,但是输入重定向操作没有做任何事情。(stdout中没有显示)

代码语言:javascript
复制
COMMAND-> wc < out.txt
Child 12878 died 0x008B

COMMAND->

其中COMMAND->是我的提示符

当我打印子进程死亡时的状态时,它得到的值是0x8B。这是否意味着什么?

我关注了这篇文章,重定向实现的核心部分类似于这里的建议。Implementing shell in C and need help handling input/output redirection

这是输入重定向中发生的事情的要点:

代码语言:javascript
复制
in = open(file_name, O_RDONLY);
dup2(in,0);
close(in);
execvp("wc",args);

(我不能发布我的全部代码,因为这是一个实时的家庭作业,我可能最终会被MOSS抓住)

EN

回答 1

Stack Overflow用户

发布于 2012-11-27 09:36:53

execvp中传递的指针是NULL,因此得到SIGSEGV

根据管道和重定向对输入命令进行隔离的后端处理出现错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13563037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档