查看进程命令
ps -ef | head -n 1;ps -ef|grep runserver
;
:用于分隔多条命令
示例
UID PID PPID C STIME TTY TIME CMD
root 18617 18616 0 13:45 pts/7 00:00:00 python manage.py runserver 0.0.0.0:8000
root 18618 18617 2 13:45 pts/7 00:00:06 /opt/dvi_video/.venv/bin/python manage.py runserver 0.0.0.0:8000
root 18915 16151 0 13:49 pts/7 00:00:00 grep --color=auto runserver
下面为你详细解释 ps -ef
输出结果中每一列的含义,以及这几条记录所代表的进程信息。
列名含义
- UID:用户 ID(User ID),它标识了启动该进程的用户。在 Unix 和 Linux 系统中,每个用户都有一个唯一的数字 ID,这里显示的是启动进程的用户的 ID 对应的用户名。在这个例子中,进程都是由
root
用户启动的。 - PID:进程 ID(Process ID),这是系统为每个正在运行的进程分配的唯一数字标识符。系统通过 PID 来管理和识别各个进程。例如
18617
、18618
等就是不同进程的 PID。 - PPID:父进程 ID(Parent Process ID),表示启动当前进程的父进程的 PID。每个进程都是由另一个进程(父进程)创建的,除了系统初始化进程(PID 通常为 1)。比如 PID 为
18618
的进程,它的父进程 ID 是18617
,说明这个进程是由 PID 为18617
的进程创建的。 - C:CPU 使用率,显示了进程占用 CPU 的资源百分比。这个数值是一个相对值,反映了进程在一段时间内使用 CPU 的繁忙程度。例如
0
和2
分别表示相应进程的 CPU 使用率情况。 - STIME:进程启动的时间。这里
13:45
表示进程是在 13 点 45 分启动的。 - TTY:终端设备(TeleTYpewriter),显示了进程与哪个终端相关联。
pts/7
表示该进程是在一个伪终端(pseudo - terminal)的第 7 个实例上运行的。如果是?
则表示该进程与终端没有关联,通常是守护进程。 - TIME:进程累计使用 CPU 的时间。
00:00:00
和00:00:06
分别表示相应进程从启动到现在总共使用 CPU 的时长。 - CMD:启动进程所执行的命令。它显示了启动该进程时所使用的完整命令行。这里可以看到是启动 Django 开发服务器的命令
python manage.py runserver 0.0.0.0:8000
以及grep
命令。
具体记录分析
- 第一行记录
root 18617 18616 0 13:45 pts/7 00:00:00 python manage.py runserver 0.0.0.0:8000
- 这是一个由 `root` 用户启动的进程,PID 为 `18617`,其父进程的 PID 是 `18616`。
- 该进程在 13 点 45 分启动,运行在 `pts/7` 终端上。
- 截至当前查看时,它累计使用 CPU 的时间为 0 秒,执行的命令是启动 Django 开发服务器,监听所有网络接口的 8000 端口。
- 第二行记录
root 18618 18617 2 13:45 pts/7 00:00:06 /opt/dvi_video/.venv/bin/python manage.py runserver 0.0.0.0:8000
- 同样由 `root` 用户启动,PID 为 `18618`,它的父进程是 PID 为 `18617` 的进程。
- 也是在 13 点 45 分启动,运行在 `pts/7` 终端上。
- 该进程累计使用 CPU 的时间为 6 秒,并且使用了虚拟环境 `/opt/dvi_video/.venv` 中的 Python 解释器来启动 Django 开发服务器。
- 第三行记录
root 18915 16151 0 13:49 pts/7 00:00:00 grep --color=auto runserve
- 由 `root` 用户启动,PID 为 `18915`,父进程的 PID 是 `16151`。
- 该进程在 13 点 49 分启动,运行在 `pts/7` 终端上。
- 累计使用 CPU 的时间为 0 秒,执行的命令是 `grep` 命令,用于在 `ps -ef` 的输出结果中搜索包含 `runserve` 关键字的行。不过这里可能是输入有误,原本应该是 `runserver`。这个 `grep` 进程是在你执行 `ps -ef | grep runserver` 命令时产生的,用于过滤出符合条件的进程信息。
综上所述,前两条记录是 Django 开发服务器相关的进程,而第三条记录是用于筛选进程信息的 grep
进程。