Linux中的进程管理命令

时间:2020-02-23 14:40:16  来源:igfitidea点击:

在本文中,我们将讨论Linux中的流程管理。
Linux中的进程不过是正在执行的程序。
它是程序的运行实例。
您执行的任何命令都会启动一个过程。

Linux中的进程类型

在Linux中,进程可以有两种类型:

  • 前台进程
    取决于用户的输入
    也称为互动过程
  • 后台进程
    独立于用户运行
    称为非交互式或者自动过程

Linux中的进程状态

Linux进程在创建之后和终止之前可以经历不同的状态。
这些状态是:

  • 运行步

  • 睡眠间断睡眠

  • 不间断的睡眠

  • 已停止

  • 僵尸

  • 处于运行状态的进程表示它正在运行或者已经可以运行。

  • 当该进程正在等待资源可用时,它处于休眠状态。

  • 不间断睡眠中的进程将唤醒以处理信号,而不间断睡眠中的进程则不会。

  • 当进程接收到停止信号时便进入停止状态。

  • 僵尸状态是当进程终止时,表中仍存在该进程的条目。

Linux中用于进程管理的不同命令

Linux中有两个命令可用来跟踪正在运行的进程。
这两个命令是Top和Ps。

1.管理Linux进程的最高命令

要跟踪计算机上正在运行的进程,可以使用top命令。

$top 

Top命令显示实时运行的进程及其内存和CPU使用率的列表。
让我们更好地了解输出:

  • PID:赋予每个进程的唯一进程ID。

  • 用户:流程所有者的用户名。

  • PR:调度时优先处理。

  • NI:流程的"不错"价值。

  • VIRT:进程使用的虚拟内存量。

  • RES:进程使用的物理内存量。

  • SHR:与其他进程共享的内存量。

  • S:进程状态" D" =不间断的睡眠

  • " R" =运行步

  • " S" =睡觉

  • " T" =跟踪或者停止

  • " Z" =僵尸

  • %CPU:进程使用的CPU百分比。

  • %MEM;进程使用的内存百分比。

  • TIME +:进程消耗的总CPU时间。

  • 命令:用于激活进程的命令。

您可以使用向上/向下箭头键在列表中向上和向下导航。
要退出,请按q。
要终止进程,请使用向上/向下箭头键突出显示该进程,然后按" k"。

另外,您也可以使用kill命令,我们将在后面看到。

2. ps命令

ps命令是"进程状态"的缩写。
它显示当前正在运行的进程。
但是,与top命令不同,生成的输出不是实时的。

$ps

术语如下:

PIDprocess ID
TTYterminal type
TIMEtotal time the process has been running
CMDname 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

Kill L

默认信号为15,即SIGTERM。
这意味着,如果仅使用不带任何数字的kill命令,它将发送SIGTERM信号。

终止进程的语法为:

$kill [pid]

另外,您也可以使用:

$kill -9 [pid]

该命令将向过程发送" SIGKILL"信号。
如果进程忽略正常的终止请求,则应使用此方法。

4.更改流程的优先级

在Linux中,您可以确定进程之间的优先级。
流程的优先级值称为"尼斯"值。
Niceness值的范围是–20到19。
默认值为0。

top命令输出的第四列是niceness值的列。

要启动一个进程并给它一个非默认值的好值,请使用:

$nice -n [value] [process name]

要更改已经运行的进程的良好值,请使用:

renice [value] -p 'PID'