通过了解Linux中的进程管理来提升系统性能和安全性。
在基于Linux和Unix的操作系统中,正在运行的命令实例称为进程。您可以通过惟一的进程ID来辨识每位进程。Linux提供了命令行工具来有效地列举、管理和监视这种进程。
您可以使用这种工具来确定每位进程的优先级,或将它们放在后台或前台以有效管理系统资源。
本Linux进程管理手册包括ps、kill、renice等工具以及其他帮助系统管理员管理和列举进程的命令。
使用ps命令列举进程
用于列举Linux上当前正在运行的进程的最古老且最常用的命令行实用程序是ps。虽然top命令是管理和列举系统进程的另一种交互式且面向屏幕的方法,但ps还显示其他信息,比如每位进程消耗的资源。
因为多用户环境,Linux中的每位进程都与单独的用户和组账户关联。为此,带有进程详尽信息的账户信息可帮助您访问进程可以使用的系统资源。
比如,以超级用户权限运行的进程可以比普通用户访问更多的系统资源,这就是ps帮助系统管理员的地方。
以下输出是列举进程及其用户名、已用时间以及相关显存和CPU消耗的示例:
您还可以注意显示正在运行的进程的状态的STAT列。R代表进程当前正在运行,S是休眠进程,带有减号表示前台操作。
可以列举当前用户的所有进程国内linux主机,如下:
ps ux | less
列举所有用户的进程:
ps aux | less
使用系统监视器管理进程
系统监视器提供了显示和管理进程的图形形式。要启动系统监视器,请转至应用程序>系统监视器。切换到进程选项卡以查看所有正在运行的进程。
默认情况下,它按字母次序显示当前用户的进程。您可以通过单击任何列标题对进程列表重新排序。据悉,您还可以单击%CPU和显存标题来查看消耗更多处理能力和显存的进程。
系统监视器容许您以多种形式管理进程,这意味着您只需右键单击进程名称即可停止、终止、继续、结束和更改进程优先级。
对于不晓得怎么使用命令行实用程序的Linux新用户来说linux 命令行启动进程,它是最好的首选工具。
使用后台/前台进程
有时您必须仅使用命令行通过网路访问Linux系统。这限制了多个活动程序的有效管理。并且shell容许您通过将程序切换到后台和前台来管理程序。
怎么启动后台进程
要在继续在shell中工作的同时启动程序,请运行命令,停止它并使用Ctrl+Z将其放在后台。要直接在后台运行程序,请在命令末尾添加与号(&),如下所示:
find /usr > /tmp/allusrfiles &
记下作业编号和进程ID。请记住,您未能在后台运行须要终端输入的命令。
您可以使用jobs命令来显示在后台运行的所有程序/命令或您停止的程序/命令(使用Ctrl+Z)。
jobs
怎样恢复前台和后台进程
要继续您置于后台的作业linux 内核,请使用fg命令,它将将该命令带到前台。
fg %<job-number>
同样,倘若您停止了某个命令在后台运行,您可以使用bg命令在后台再度重新启动它,如下所示:
bg %<job_number>
杀害Linux上的进程
正如系统监视器等图形工具容许您中止、停止和继续进程一样,您也可以使用kill和killall等命令行工具发送讯号到一个正在运行的进程。
不仅简单地中止进程之外,kill命令还有助于发送不同的讯号来管理进程行为。
您可以使用名称或数字来使用讯号。
kill -signalnumber <process-id>
kill -signalname <process-id>
比如,以下命令将SIGKILL讯号发送到PID为1987的进程:
kill -9 1987
kill -SIGKILL 1987
最常用的过程讯号是:
Option
Description
SIGKILL(9)
Killstheprocessimmediately
SIGTERM(15)
Terminatestheprocess
SIGSTOP(19/28/25)
Stopstheprocess
SIGCONT(19/28/25)
Continuestheprocessafteritstops
SIGUP(1)
Tellstheprocesstoreaditsconfigurationfile
请注意,不同的进程对这种讯号的响应不同,但它们难以停止SIGSTOP和SIGKILL讯号。键入以下命令以了解有关这种讯号的更多信息:
man 7 signal
Linux上的重新调整进程
Linux内核通过考虑用户账户权限来确定运行进程的优先级并分配系统资源。内核还考虑另一个诱因linux 命令行启动进程,即每位正在运行的进程的“nice”值。
进程的默认nice值为零,然而,您可以将范围设置为-20到19之间。有关使用nice和renice值设置进程优先级的一些事实是:
Linux上的进程管理显得简单
多用户环境有多个进程,须要足够的系统资源管理知识,以避免出现困局和系统限制。该任务的一部发包括通过在后台/前台运行进程、终止或重新调整进程来管理进程。
您还可以了解top命令实用程序来显示和排序进程,并学习中止Linux上无响应的进程。
文章评论