阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

12个Linux进程管理命令介绍

33次阅读
没有评论

共计 2440 个字符,预计需要花费 7 分钟才能阅读完成。

导读 执行中的程序称作进程。当程序可以执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源、内存、安全属性和与之相关的状态。可以有多个进程关联到同一个程序,并同时执行不会互相干扰。操作系统会有效地管理和追踪所有运行着的进程。

为了管理这些进程,用户应该能够:

●查看所有运行中的进程

●查看进程消耗资源

●定位个别进程并且对其执行指定操作

●改变进程的优先级

●杀死指定进程

●限制进程可用的系统资源等

Linux 提供了许多命令来让用户来高效掌控上述的操作。接下来,一个一个的来讲解下。

1.ps

‘ps’ 是 Linux 中最基础的浏览系统中的进程的命令。能列出系统中运行的进程,包括进程号、命令、CPU 使用量、内存使用量等。下述选项可以得到更多有用的消息。

ps -a - 列出所有运行中 / 激活进程 

12 个 Linux 进程管理命令介绍

ps -ef |grep - 列出需要进程 
ps -aux - 显示进程信息,包括无终端的(x)和针对用户(u)的进程:如 USER, PID, %CPU, %MEM 等 
2.pstree

linux 中,每一个进程都是由其父进程创建的。此命令以可视化方式显示进程,通过显示进程的树状图来展示进程间关系。如果指定了 pid 了,那么树的根是该 pid,不然将会是 init(pid:1)。

12 个 Linux 进程管理命令介绍

3.top

‘top’是一个更加有用的命令,可以监视系统中不同的进程所使用的资源。它提供实时的系统状态信息。显示进程的数据包括 PID、进程属主、优先级、%CPU、%memory 等。可以使用这些显示指示出资源使用量。

12 个 Linux 进程管理命令介绍

4.htop

htop 与 top 很类似,但是 htop 是交互式的文本模式的进程查看器。它通过文字图形化地显示每一个进程的 CPU 和内存使用量、swap 使用量。使用上下光标键选择进程,F7 和 F8 改变优先级,F9 杀死进程。Htop 不是系统默认安装的,所以需要额外安装。

12 个 Linux 进程管理命令介绍

5.nice

通过 nice 命令的帮助,用户可以设置和改变进程的优先级。提高一个进程的优先级,内核会分配更多 CPU 时间片给这个进程。默认情况下,进程以 0 的优先级启动。进程优先级可以通过 top 命令显示的 NI(nice value)列查看。

进程优先级值的范围从 -20 到 19。值越低,优先级越高。

nice < 优先值 > < 进程名 > - 通过给定的优先值启动一个程序 

12 个 Linux 进程管理命令介绍

12 个 Linux 进程管理命令介绍

上述命令例子中,可以看到‘top’命令获得了 - 3 的优先值。

6.renice

renice 命令类似 nice 命令。使用这个命令可以改变正在运行的进程优先值。注意,用户只能改变属于他们自己的进程的优先值。

renice -n -p - 改变指定进程的优先值 

12 个 Linux 进程管理命令介绍

初始优先值为 0 的 3806 号进程优先值已经变成了 4。

renice -u -g - 通过指定用户和组来改变进程优先值 

12 个 Linux 进程管理命令介绍

上述例子中,用户为‘mint’的所有进程优先值变为‘-3’。

7.kill

这个命令用于发送信号来结束进程。如果一个进程没有响应杀死命令,这也许就需要强制杀死,使用 - 9 参数来执行。注意,使用强制杀死的时候一定要小心,因为进程没有时机清理现场,也许写入文件没有完成。如果我们不知道进程 PID 或者打算用名字杀死进程时候,killall 就能派上用场。

kill <pid>
kill -9 <pid>
killall -9 - 杀死所有拥有同样名字的进程 

如果你使用 kill,你需要知道进程 ID 号。pkill 是类似的命令,但使用模式匹配,如进程名,进程拥有者等。

pkill < 进程名 >

12 个 Linux 进程管理命令介绍

12 个 Linux 进程管理命令介绍

8.ulimit

该命令用于控制系统资源在 shell 和进程上的分配量。对于系统管理员是最有用的,可以管理重度使用和存在性能问题的系统。限制资源大小可以确保重要进程持续运行,其他进程不会占用过多资源。

ulimit -a - 显示当前用户关联的资源限制 

12 个 Linux 进程管理命令介绍

-f : 最大文件尺寸大小

-v : 最大虚拟内存大小(KB)

-n : 增加最大文件描述符数量

-H : 改变和报告硬限制

-S : 改变和报告软限制

浏览 ulimit man 页面获取更多选项。

9.w

w 提供当前登录的用户及其正在执行的进程的信息。显示信息头包含信息,如当前时间、系统运行时长、登录用户总数、过去的 1,5,15 分钟内的负载均衡数。

基于这些用户信息,用户在终止不属于他们的进程时要小心。

12 个 Linux 进程管理命令介绍

who 是类似命令,提供当前登录用户列表、系统启动时间、运行级别等。

12 个 Linux 进程管理命令介绍

whoami 命令输出当前用户 ID

12 个 Linux 进程管理命令介绍

10.pgrep

pgrep 的意思是 ” 进程号全局正则匹配输出 ”。该命令扫描当前运行进程,然后按照命令匹配条件列出匹配结果到标准输出。对于通过名字检索进程号是很有用。

pgrep -u mint sh

这个命令将会显示用户为‘mint’和进程名为‘sh’的进程 ID。

12 个 Linux 进程管理命令介绍

11.fg , bg

有时,命令需要很长的时间才能执行完成。对于这种情况,我们使用‘bg’命令可以将任务放在后台执行,而用‘fg’可以调到前台来使用。

我们可以通过‘&’在后台启动一个程序:

find . -name *iso > /tmp/res.txt &

一个正在运行的程序也可以通过“CTRL+Z”和“bg”命令组合放到后台运行。

find . -name *iso > /tmp/res.txt & - 启动一个程序 
ctrl+z - 挂起当前执行程序 
bg - 将程序放到后台运行 

我们可以使用‘jobs’命令列出所有后台进程。

jobs

使用‘fg’命令可以将后台程序调到前台执行。

fg % 进程 id

12 个 Linux 进程管理命令介绍

12.ipcs

ipcs 命令报告进程间通信设施状态。(共享内存,信号量和消息队列)

用 - p 参数联合 -m、- s 或 - q 使用,可以获得相关的进程间通信的进程 ID。

ipcs -p -m

下面屏幕截图列出了最近访问了共享内存段的进程的创建者的 ID 和进程 ID。

12 个 Linux 进程管理命令介绍

总结

总之,这些命令可以帮助管理员修复问题和改善性能。同样作为一名普通用户也需要解决进程出现的问题。所以,熟悉如此繁多的命令,从能有效管理进程是行之有效。

 

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计2440字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中