(ls) 的图表是什么样子的?

(ls) 的图表是什么样子的?

ls这是进入bash 并执行它 后发生的情况的图表:在此输入图像描述

ls第一部分显示执行前的情况。重击是终端模拟器的子进程xterm而且他们周围的气场、环境都是一样的。这xx标记表明,两者Xterm重击,因为父进程和子进程拥有相同的环境变量集。

第二部分显示了启动一个新进程(即 ls)后会发生什么。

  1. Bash 创建了一个子进程,它是其自身的精确副本,因此我将其命名为bash_c(Bash_copy 的缩写)。
  2. 然后,bash_c正在被 ls 进程取代。

我认为这张图简单明了、不言自明、直观且不含糊。

然而,我还没有画出 的图表(ls),因为我不知道它是什么样子,我有一些不同的场景来了解它的样子,但这里开始问题部分: 的图表是什么样子(ls)?请画并评论。

答案1

for 的进程层次结构(ls)与 for 相同ls,即→ bash → ls,但如果将命令列表放在括号中:(ls; ls),则 bash 启动一个子 shell 并运行该子 shell 中的命令。生成的进程层次结构如下所示:(→ bash → bash → ls两个 ls 进程按顺序运行)。

您可以通过使用不带参数的 cat 而不是 ls: 来可视化这一点(cat; cat)。第一个 cat 进程等待输入,让您有机会查看使用pstreetop在另一个终端中发生的情况。

相关内容