【问题标题】:Linux Shell ScriptingLinux Shell 脚本
【发布时间】:2012-02-03 22:54:04
【问题描述】:

在多核处理器上,如果我从 shell 脚本文件创建子 shell,子 shell 是否有机会转到另一个处理器,或者所有子 shell 和父 shell 将在同一个处理器中运行?我无法检查多核处理器机器。

【问题讨论】:

  • 它可以——但进程不会“卡”在处理器上(除非你特意将它固定在一个处理器上)。一个进程可以根据调度程序的完全心血来潮改变处理器;无论其父进程如何。

标签: linux shell scripting


【解决方案1】:

是的,现有进程可以同时在不同的内核上执行。当然,除非子 shell 在后台执行,而主 shell 继续执行其他工作,否则这不会给您带来任何好处。

【讨论】:

  • 如果子外壳或命令是管道的一部分,您会受益 - 然后多个内核可以各自并行执行管道的一部分。当然,sort 有点麻烦,因为它必须在产生任何输出之前读取所有输入,但是 ...
  • @JonathanLeffler:我从未体验过多核主机上的 Unix 管道的显着加速。 I/O 开销太大了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-05
  • 2011-05-07
  • 2014-03-26
  • 1970-01-01
  • 1970-01-01
  • 2012-05-12
  • 2014-10-09
相关资源
最近更新 更多