首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C编程基础shell

C编程基础shell
EN

Stack Overflow用户
提问于 2011-10-16 18:41:39
回答 2查看 259关注 0票数 1

我正在尝试编写一个简单的shell,它接受命令行输入并将其作为后台任务执行。

如何允许子进程在完成后向父进程报告,就像Bash shell一样?

代码语言:javascript
复制
user@user-desktop:~$ sleep 10 &
[1] 3729
user@user-desktop:~$ sleep 2 &
[2] 3730
user@user-desktop:~$ 
[1]-  Done                    sleep 10
[2]+  Done                    sleep 2
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-16 18:45:53

因为这是你的作业,所以我不会给你完整的答案。

GNU Glibc manual列出了作业控制外壳要求。让我们看看你是否能理解它。

基本上:

  • 您必须更改控制终端才能使作业在后台运行
  • 您必须处理SIGCHLD (或wait)才能监视作业

读完后再问。

票数 3
EN

Stack Overflow用户

发布于 2011-10-16 18:48:29

您需要编写一个信号处理程序来处理SIGCHLD (有时称为SIGCLD)信号,当子进程终止时,该信号将被发送到父进程。

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

https://stackoverflow.com/questions/7783756

复制
相关文章

相似问题

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