首页 / Linux 命令行入门教程 / 46. 进程概念:PID、前后台、父子

Linux 命令行入门教程

46. 进程概念:PID、前后台、父子

本教程共 90 篇 · 第 46 篇

46. 进程概念:PID、前后台、父子

你敲下的每一条命令,系统都会把它变成”进程”来跑。

进程就是正在运行的程序实例。程序躺在硬盘上是死的,被系统加载进内存、分配资源开始执行,就成了活的进程。

PID 是进程的身份证。每个进程启动时,内核给它发一个编号,叫进程 ID(PID)。编号从 1 开始,1 通常是 systemd——它是几乎所有进程的祖先。

Note

在终端里看当前 shell 的 PID,直接 echo $$。它打印的就是这个 shell 进程的编号。

前台和后台说的是进程占不占终端。前台进程霸着终端,你敲不了别的命令;后台进程在背后跑,终端还能继续用。

sleep 30 &

那个 & 就是把命令丢到后台。详细的玩法见 §49 作业控制。

父子关系靠”谁生的谁”。你在 shell 里运行命令,shell 是父进程,新命令是子进程。父进程结束不必然带走子进程,但子进程结束会通知父进程来收尾。

Tip

想知道某个进程的父 PID?后面 §47 的 ps -efPPID 一列就是答案。

小结:进程 = 运行中的程序;PID 是唯一编号;命令有前后台之分;进程之间靠父子关系串成一棵树。