Linux 进程管理命令
在本文中,我们将讨论 Linux 中的进程管理。 Linux 中的进程只不过是一个正在执行的程序。它是一个程序的运行实例。您执行的任何命令都会启动一个进程。
Linux 中的进程类型
在 Linux 中进程可以有两种类型:
- <李> 前台进程
取决于用户的输入
也称为交互过程 <李> 后台进程
独立于用户运行
称为非交互式或自动过程
Linux 中的进程状态
Linux 中的进程在创建之后和终止之前可以经历不同的状态。这些状态是:
- <李> 跑步 <李> 睡眠
- 可中断睡眠
- 不受打扰的睡眠
停止
僵尸
处于运行状态的进程意味着它正在运行或准备运行。
进程在等待资源可用时处于休眠状态。
可中断睡眠中的进程将唤醒以处理信号,而不可中断睡眠中的进程则不会。
进程在收到停止信号时进入停止状态。
僵尸状态是指进程已死但进程的条目仍存在于表中。
Linux 进程管理的不同命令
Linux 中有两个命令可用于跟踪正在运行的进程。这两个命令是 Top 和 Ps。
1.管理Linux进程的top命令
要跟踪您机器上正在运行的进程,您可以使用 top 命令。
$ top

Top 命令显示实时运行的进程列表及其内存和 CPU 使用率。让我们更好地理解输出:
- PID:赋予每个进程的唯一进程 ID。
- 用户:流程所有者的用户名。
- PR:在调度时给予进程优先权。
- NI:流程的“不错”价值。
- VIRT:进程使用的虚拟内存量。
- RES:进程使用的物理内存量。
- SHR:与其他进程共享的内存量。
- S:进程状态
- ‘D’=不间断睡眠
- ‘R’=跑步
- ‘S’=睡觉
- ‘T’=被跟踪或停止
- ‘Z’=僵尸
您可以使用向上/向下箭头键在列表中上下导航。要退出,请按 q。要终止进程,请使用向上/向下箭头键突出显示该进程,然后按“k”。
或者,您也可以使用 kill 命令,稍后我们会看到。
2.ps命令
ps 命令是“进程状态”的缩写。它显示当前正在运行的进程。但是,与 top 命令不同的是,生成的输出不是实时的。
$ ps
术语如下:
PID process ID TTY terminal type TIME total time the process has been running CMD name of the command that launches the process 要使用 ps 命令获取更多信息,请使用:
$ ps -u
这里:
- %CPU 表示进程占用的计算能力。
- %MEM 表示进程占用的内存量。
- STAT 表示过程状态。
虽然 ps 命令仅显示当前正在运行的进程,但您也可以使用它列出所有进程。
$ ps -A
此命令甚至列出当前未运行的那些进程。
3.停止进程
要停止 Linux 中的进程,请使用 kill' 命令。 kill 命令向进程发送信号。
您可以发送不同类型的信号。但是,最常见的是“kill -9”,即“SIGKILL”。
您可以使用以下命令列出所有信号:
$ kill -L
默认信号为 15,即 SIGTERM。这意味着如果您只使用不带任何数字的 kill 命令,它会发送 SIGTERM 信号。
杀死进程的语法是:
$ kill [pid]
或者你也可以使用:
$ kill -9 [pid]
此命令将向进程发送“SIGKILL”信号。这应该在进程忽略正常终止请求的情况下使用。
4.改变进程的优先级
在 Linux 中,您可以区分进程之间的优先级。进程的优先级值称为“Niceness”值。 Niceness 值的范围从 -20 到 19。0 是默认值。
top 命令输出的第四列是 niceness 值列。
要启动一个进程并给它一个不同于默认值的漂亮值,请使用:
$ nice -n [value] [process name]
要更改已在运行的进程的 nice 值,请使用:
renice [value] -p 'PID'
结论
本教程介绍了 Linux 中的进程管理。主要涵盖过程管理的实际方面。从理论上讲,流程管理是一个庞大的主题,完整地介绍它超出了本教程的范围。