Linux/Unix 进程管理:ps、kill、top、df、free、nice 命令

什么是进程?

程序的一个实例被称为进程。简单来说,您给 Linux 机器输入的任何命令都会启动一个新的进程。

What is a Process

同一个程序可以有多个进程。

进程类型

  • 前台进程:它们在屏幕上运行,需要用户输入。例如,办公程序。
  • 后台进程:它们在后台运行,通常不需要用户输入。例如,杀毒软件。

如果视频无法访问,请点击此处

运行前台进程

要启动前台进程,您可以从仪表板运行它,也可以从终端运行它。

在使用终端时,您必须等待前台进程运行完毕。

Running a Foreground Process

运行后台进程

如果您从终端启动一个前台程序/进程,那么在程序运行起来之前,您将无法在终端上工作。

特别是,数据密集型任务需要大量的处理能力,甚至可能需要数小时才能完成。您不希望您的终端被长时间占用。

为避免这种情况,您可以运行程序并将其发送到后台,以便终端仍可供您使用。让我们学习如何做到这一点——

Running a Background Process

Fg

您可以使用“fg”命令继续一个已停止的程序并将其带到前台。

此实用程序的基本语法是

fg jobname

示例

  1. 启动“banshee”音乐播放器
  2. 使用“ctrl +z”命令停止它
  3. 使用“fg”实用程序继续它。

Fg Command

让我们看看其他重要的进程管理命令——

顶部

此实用程序会告知用户 Linux 机器上所有正在运行的进程。

Top Command

按键盘上的“q”键退出进程显示。

术语遵循

字段 描述 示例 1 示例 2
PID 每个任务的进程 ID 1525 961
用户 任务所有者的用户名 主页 Root
PR 优先级

可以是 20(最高)或 -20(最低)

20 20
NI 任务的 nice 值 0 0
VIRT 使用的虚拟内存(kb) 1775 75972
RES 使用的物理内存(kb) 100 51
SHR 使用的共享内存(kb) 28 7952
AC

状态

有五种类型

‘D’ = 不可中断睡眠

‘R’ = 运行中

‘S’ = 睡眠中

‘T’ = 已跟踪或已停止

‘Z’ = zombie(僵尸进程)

AC 回车符
%CPU CPU 时间百分比 1.7 1.0
%MEM 使用的物理内存 10 5.1
TIME+ 总 CPU 时间 5:05.34 2:23.42
命令 命令名称 Photoshop.exe Xorg

PS

此命令代表“进程状态”。它类似于 Windows 机器上使用 Cntrl+Alt+Del 时出现的“任务管理器”。此命令类似于‘top’命令,但显示的信息有所不同。

要检查用户下所有正在运行的进程,请使用命令——

ps ux

PS Command

您还可以使用语法检查单个进程的进程状态——

ps PID 

PS Command

Kill

此命令可终止 Linux 机器上正在运行的进程

要使用这些实用程序,您需要知道要终止进程的 PID(进程 ID)。

语法——

kill PID

要查找进程的 PID,只需键入

pidof Process name

让我们举个例子试试。

Kill Command

NICE

Linux 可以一次运行许多进程,这会减慢某些高优先级进程的速度并导致性能下降。

为避免这种情况,您可以告诉您的机器根据您的要求对进程进行优先级排序。

在 Linux 中,此优先级称为 Niceness,其值介于 -20 到 19 之间。Niceness 索引越低,赋予该任务的优先级就越高。

所有进程的默认值为 0。

要以非默认值启动进程,请使用以下语法

nice -n 'Nice value' process name

Nice Command

如果系统上已有正在运行的进程,则可以使用语法“Renice”更改其值。

renice 'nice value' -p 'PID'

要更改 Niceness,您可以使用‘top’命令确定 PID(进程 ID)及其 Nice 值。然后使用 renice 命令更改值。

让我们通过一个例子来理解这一点。

Nice Command

DF

此实用程序报告所有文件系统上可用的磁盘空间(硬盘)。

DF Command

如果您希望上述信息以可读的格式显示,请使用命令

'df -h' 

DF Command

免费

此命令显示 Linux 系统上可用和使用的内存(RAM)。

Free Command

您可以使用参数

free -m 以 MB 为单位显示输出

free -g 以 GB 为单位显示输出

摘要

  • Linux 系统上运行的任何程序或输入的命令都称为进程
  • 进程可以在前台或后台运行
  • 进程的优先级索引在 Linux 中称为 Nice。其默认值为 0,范围可在 20 到 -19 之间。
  • Niceness 索引越低,赋予该任务的优先级就越高。
命令 描述
bg 将进程发送到后台
fg 在前台运行已停止的进程
top 所有活动进程的详细信息
ps 提供用户正在运行的进程的状态
ps PID 提供特定进程的状态
pidof 提供进程的进程 ID (PID)
kill PID 杀死一个进程
nice 以给定的优先级启动进程
renice 更改已运行进程的优先级
df 显示您系统上的可用硬盘空间
free 显示您系统上的可用 RAM