shell这个词是进程的同义词吗?

Ben*_*ey4 2 linux bash shell

这篇文章:

Sourcing 将执行当前 shell 中的命令,执行将创建一个新的 shell 并在那里执行命令。

他描述每个 shell 都有自己的 PID。我看不出 shell 和 process 之间有什么区别,至少在他的上下文中如何使用 shell 这个词没有区别。

jll*_*gre 5

(正在运行的)shell 是一个进程,但并非所有进程都是 shell。

所有正在运行的应用程序和守护进程都是进程。唯一运行的不是进程的是内核(包括内核线程)。内核,至少在类似 Unix 的操作系统上,正在启动一个(或多个)初始手工制作的进程,通常称为init. 这些进程是其他进程的整个层次结构的父进程。当您运行pstop命令时,您将看到每个进程都有自己独特的PID.

当您登录到终端仿真器,你将推出一种交互的shell,例如shdashkshbashzsh和喜欢。这些 shell 正在解释您在终端窗口中键入的命令,例如ls,catdate。后者不是 shell,而是可执行的二进制文件。

您还可以运行 shell 脚本,这些脚本是包含要由 shell 执行的命令的文本文件。

由于并非所有程序都是 shell 脚本或交互式 shell 会话,因此您不能说 shell 是进程的同义词。