Linux中的进程管理命令

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

Linux中的进程类型

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

  • Foreground Processes
    depend on the user for input
    also referred to as interactive processes
  • Background Processes
    run independently of the user
    referred to as non-interactive or automatic processes

Linux中的进程状态

Linux系统中的一个进程在创建之后终止之前会经历不同的状态。这些状态包括:

  • Running
  • SleepingInterruptible sleep
    Uninterruptible sleep
  • Stopped
  • Zombie
  • A process in running state means that it is running or it’s ready to run.
  • The process is in a sleeping state when it is waiting for a resource to be available.
  • A process in Interruptible sleep will wakeup to handle signals, whereas a process in Uninterruptible sleep will not.
  • A process enters a stopped state when it receives a stop signal.
  • Zombie state is when a process is dead but the entry for the process is still present in the table.

处理管理的不同命令在Linux中有哪些?

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

管理Linux进程的顶级命令

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

$ top 
Top

Top命令实时显示正在运行的进程列表,以及它们的内存和CPU使用情况。让我们更好地了解输出内容:

  • PID: Unique Process ID given to each process.
  • User: Username of the process owner.
  • PR: Priority given to a process while scheduling.
  • NI: ‘nice’ value of a process.
  • VIRT: Amount of virtual memory used by a process.
  • RES: Amount of physical memory used by a process.
  • SHR: Amount of memory shared with other processes.
  • S: state of the process‘D’ = uninterruptible sleep
    ‘R’ = running
    ‘S’ = sleeping
    ‘T’ = traced or stopped
    ‘Z’ = zombie
  • %CPU: Percentage of CPU used by the process.
  • %MEM; Percentage of RAM used by the process.
  • TIME+: Total CPU time consumed by the process.
  • Command: Command used to activate the process.

你可以使用上下箭头键在列表中上下导航。按下q键退出。要终止一个进程,用上下箭头键选择进程,然后按下‘k’键。

另外,您也可以使用杀命令,稍后我们将会看到。

2. PS命令

ps命令是“进程状态”的缩写。它显示当前运行的进程。然而,与top命令不同,生成的输出不是实时的。

$ ps
Ps Command

术语如下:

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
Ps U

这里

  • %CPU represents the amount of computing power the process is taking.
  • %MEM represents the amount of memory the process is taking up.
  • STAT represents process state.

虽然 ps 命令只显示当前正在运行的进程,但你也可以使用它来列出所有的进程。

$ ps -A 
Ps A

这个命令会列出当前未运行的进程。

停止一个过程

在Linux中停止一个进程,可以使用’kill’命令。kill命令发送信号给该进程。

有各种不同类型的信号可以发送。然而,最常见的是”kill -9″,也就是”SIGKILL”。

你可以使用列表列出所有的信号。

$ kill -L
Kill L

默认信号是15,也就是SIGTERM。这意味着如果您只使用kill命令而不带任何数字,它就会发送SIGTERM信号。

杀死进程的语法是:

$ kill [pid]

另外,你也可以选择使用:

$ kill -9 [pid]

此命令将发送一个“SIGKILL”信号给进程。如果进程忽略了普通的终止请求,应该使用此命令。

4. 调整进程的优先级 de jí)

在Linux中,你可以对进程进行优先级排序。进程的优先级值被称为“好感度”值。好感度值的范围从-20到19。0是默认值。

top命令输出的第四列是关于优先级值的一列。

Niceness

要启动一个进程并给它设置一个好的值而不是默认值,请使用:

$ nice -n [value] [process name]

要改变一个正在运行的进程的优先级值,请使用以下方式:

renice [value] -p 'PID'

結論:
总结

这个教程讲解了Linux中的进程管理。主要内容涵盖了实际应用方面的进程管理。理论上讲,进程管理是一个广泛的主题,完全涵盖它超出了本教程的范围。

发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds