什么是PID?
PID 主要是用来杀死一个没有响应的程序,它类似于 Windows 任务管理器一样;PID 代表进程标识号process identification,它在大多数操作系统内核(如 Linux、Unix、macOS 和 Windows)中使用。它是在操作系统中创建时自动分配给每个进程的唯一标识号。一个进程是一个正在运行的程序实例
除了 init 进程外其他所有的进程 ID 每次都会改变,因为 init 始终是系统上的第一个进程,并且是所有其他进程的父进程。它的 PID 是 1
PID 默认的最大值是 32768;在 32 位系统上,32768 是最大值,但是我们可以在 64 位系统上将其设置为最大 222(约 4 百万)内的任何值
[pstuser@bdm-prd-svc002 tmp]$ cat /proc/sys/kernel/pid_max
32768
四个简单找出PID方法
为什么我们需要这么多的 PID?因为我们不能立即重用 PID,这就是为什么。另外为了防止可能的错误。
系统正在运行的进程的 PID 可以通过使用 pidof、pgrep、ps 和 pstree 命令找到
1.pidof 用于查找正在运行的程序的进程 ID。它在标准输出上打印这些 id
2.pgrep 遍历当前正在运行的进程,并将符合选择条件的进程 ID 列到标准输出中
3.pstree 将运行的进程显示为一棵树。树的根是某个 pid,如果省略了 pid 参数,那么就是 init。如果在 pstree 命令中指定了用户名,则显示相应用户拥有的所有进程;pstree 会将相同的分支放在方括号中,并添加重复计数的前缀来可视化地合并到一起
4.ps 显示活动进程的选择信息。它显示进程 ID(pid=PID)、与进程关联的终端(tname=TTY)、以 [DD-]hh:mm:ss 格式(time=TIME)显示的累计 CPU 时间、以及执行名(ucmd = CMD)。输出默认是未排序的