【问题标题】:Background process vs Foreground Process后台进程与前台进程
【发布时间】:2012-01-20 07:25:29
【问题描述】:

处理器如何执行后台或前台进程或操作系统如何处理它们的调度是否有区别?如果后台作业和前台作业在处理器级别没有差异,那么差异出现在哪个级别?

【问题讨论】:

  • AFAIK 它们与处理器相同,每个获取计划的方式相同。不同之处在于后台进程将在没有任何用户干预的情况下运行。

标签: c linux unix operating-system


【解决方案1】:

在 shell 中创建一个新的后台进程与处理器执行它的方式无关。唯一不同的是,shell 不会等待后台进程完成。

进程创建代码:
1) fork 一个进程
2) if (& 符号出现在命令的末尾)
继续接受新命令
其他
等待孩子的 pid。

唯一的区别是shell是否会降低后台进程的优先级。答案是“取决于”您使用的外壳。但我不知道任何现有的 shell 分配这种动态优先级。

【讨论】:

  • 还有一些关于控制终端和进程组的问题。
  • @above 您能否详细说明“终端和进程组”。
  • 阅读execve 和tty(4) 的手册页,了解如何控制终端和一本好的Linux 编程书籍,例如advancedlinuxprogramming.com 和basepath.com/aup
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多