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命令实时显示正在运行的进程列表,以及它们的内存和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
术语如下:
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 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
这个命令会列出当前未运行的进程。
停止一个过程
在Linux中停止一个进程,可以使用’kill’命令。kill命令发送信号给该进程。
有各种不同类型的信号可以发送。然而,最常见的是”kill -9″,也就是”SIGKILL”。
你可以使用列表列出所有的信号。
$ kill -L
默认信号是15,也就是SIGTERM。这意味着如果您只使用kill命令而不带任何数字,它就会发送SIGTERM信号。
杀死进程的语法是:
$ kill [pid]
另外,你也可以选择使用:
$ kill -9 [pid]
此命令将发送一个“SIGKILL”信号给进程。如果进程忽略了普通的终止请求,应该使用此命令。
4. 调整进程的优先级 de jí)
在Linux中,你可以对进程进行优先级排序。进程的优先级值被称为“好感度”值。好感度值的范围从-20到19。0是默认值。
top命令输出的第四列是关于优先级值的一列。
要启动一个进程并给它设置一个好的值而不是默认值,请使用:
$ nice -n [value] [process name]
要改变一个正在运行的进程的优先级值,请使用以下方式:
renice [value] -p 'PID'
結論:
总结
这个教程讲解了Linux中的进程管理。主要内容涵盖了实际应用方面的进程管理。理论上讲,进程管理是一个广泛的主题,完全涵盖它超出了本教程的范围。