`
jjfat
  • 浏览: 291889 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

12 个 Linux 进程管理命令介绍

 
阅读更多

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

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

  • 查看所有运行中的进程
  • 查看进程消耗资源
  • 定位个别进程并且对其执行指定操作
  • 改变进程的优先级
  • 杀死指定进程
  • 限制进程可用的系统资源等

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

 

1. ps

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

ps -a - 列出所有运行中/激活进程
ps -ef |grep - 列出需要进程
ps -aux - 显示进程信息,包括无终端的(x)和针对用户(u)的进程:如USER, PID, %CPU, %MEM等

 

2. pstree

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

 

3. top

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

 

4. htop

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

 

5. nice

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

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

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

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

 

6. renice

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

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

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

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

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

 

7. kill

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

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

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

pkill <进程名>

 

8. ulimit

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

ulimit -a - 显示当前用户关联的资源限制
-f - 最大文件尺寸大小
-v - 最大虚拟内存大小(KB) -n - 增加最大文件描述符数量 -H : 改变和报告硬限制 -S : 改变和报告软限制

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

 

9. w

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

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

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

whoami 命令输出当前用户ID

 

10. pgrep

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

pgrep -u mint sh

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

 

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. ipcs

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

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

ipcs -p -m

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

 

总结

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

分享到:
评论

相关推荐

    Linux 进程管理命令

    Linux 进程管理命令 Linux 进程管理命令是 Linux 操作系统中用于管理进程的命令,它们是 Linux 系统管理员的基本工具。这些命令可以用来查看、管理和控制进程,从而确保系统的稳定运行。 1. 程序和进程 在 Linux ...

    四大命令助你玩转Linux进程管理

    四大命令助你玩转Linux进程管理 命令 Linux 进程管理

    linux linux进程管理 常用命令

    本文将为您介绍 Linux 进程管理的常用命令和应用场景。 1. ps 命令:查看正在运行的进程 ps 命令是 Linux 中最常用的命令之一,用于查看正在运行的进程。ps 命令的基本格式为:`ps [选项]`,其中选项可以是: * a...

    LINUX教程(各种操作、LINUX所有管理命令、所有磁盘管理、用户管理、服务器管理、进程管理等等。。)

    这个压缩包中的资源提供了丰富的Linux学习资料,包括各种操作、所有管理命令、磁盘管理、用户管理、服务器管理和进程管理等内容。以下是对这些主题的详细解释: 一、Linux基本操作 Linux的基本操作包括文件和目录...

    LINUX进程管理实验

    ### LINUX进程管理实验知识点解析 #### 一、进程与程序的区别 在进行LINUX进程管理实验之前,首先需要理解进程与程序之间的区别。程序是指令的集合,是静态的,而进程则是程序的一次动态执行过程,具有生命周期,...

    linux进程管理与命令

    以下是 Linux 系统中常用的进程管理命令和用法: 1. 查看系统进程命令:ps aux ps aux 命令可以显示当前系统中的所有进程信息,包括进程 ID、CPU 占用率、内存占用率、进程状态等信息。其中,ps aux 的选项 aux ...

    linux进程管理pdf文件

    ### 进程的基本概念 #### 1. 进程的定义 ...综上所述,Linux 进程管理涉及了进程的概念、类型、启动方式以及常用的进程管理命令。理解和掌握这些内容对于有效地管理和优化Linux系统的性能至关重要。

    linux进程管理命令使用

    linux进程管理

    Linux进程管理命令详解.pdf

    Linux系统可以同时启动多个进程,Linux进程管理命令是管理这些进程的命令。这些命令包括at、bg、&、fg、kill、crontab、jobs、ps、pstree、top、nice、renice、sleep、nohup等。 1.at命令 at命令的作用是,在指定...

    Linux进程管理命令详解:ps、kill、pkill的使用方法

    内容概要:本文详细讲解了在 Linux环境中...其他说明:本文档旨在帮助技术人员更好地理解和运用 Linux系统下各类进程管理命令,以提高工作效率,优化系统性能。实际应用过程中应谨慎操作,尤其是涉及 kill指令的执行。

    Linux服务器配置与管理:linux进程管理.pptx

    本文将深入探讨Linux的进程管理方法,特别是如何使用`ps`和`top`这两个命令来查看和监视进程状态。 首先,`ps`命令是Linux中用于查看当前进程状态的基本工具。它的名字来源于“Process Status”,可以提供进程的...

    Linux进程管理命令实用.pdf

    【Linux进程管理】是Linux操作系统中的重要组成部分,用于管理和控制正在运行的程序。在Linux中,程序是指静态的代码,而【进程】则是程序在内存中的动态实例,它包含了程序的执行上下文和资源分配。一个程序在运行...

    Linux进程管理和网络管理.pdf

    Linux进程管理和网络管理是Linux系统运维中非常重要的两个方面,涉及到系统性能监控、服务维护、故障排查等多个环节,是系统管理员必备的技能之一。 一、Linux进程管理 1. 进程概念 进程是计算机中的程序关于某...

    Linux下进程管理实验

    在Linux操作系统中,进程管理是系统管理的核心部分,它涉及到计算机如何有效地运行多个程序并确保它们协同工作。这个“Linux下进程管理实验”旨在帮助我们深入理解进程的概念,以及它们与程序之间的区别,同时探讨...

    Linux光速入门-04.Linux进程管理命令.mp4

    Linux光速入门-04.Linux进程管理命令.mp4

    Linux 进程管理四个命令详解.docx

    Linux 进程管理四个命令详解 Linux 进程管理是 Linux 操作系统中一个非常重要的组件,它负责管理和控制系统中的进程。Linux 提供了多种命令来管理和监控进程,这些命令可以帮助系统管理员和开发者更好地了解和控制...

    进程管理命令文档

    本文档主要介绍了两个重要的进程管理命令——`ps`和`kill`,以及与之相关的进程状态。 `ps`命令是Process Status的缩写,它用于实时地查看系统中当前运行的进程状态。通过执行`ps`,我们可以获取一个进程快照,即在...

    linux实验五_进程管理命令.pdf

    综上所述,本实验文档通过介绍top、ps、kill、fg、bg、jobs等进程管理命令,提供了对Linux进程管理操作的一个基本入门。这些命令的熟练掌握对于有效管理Linux系统来说至关重要,可以帮助系统管理员或用户更好地监控...

    进程管理 主要介绍进程的概念、状态、构成以及Linux进程的相关知识。

    本章主要介绍进程的概念、状态、构成以及Linux进程的相关知识。 掌握进程的概念 掌握进程的描述、状态及转换 理解进程的特征 了解Linux进程的描述及进程通信 掌握进程的同步与互斥,并能灵活运用 理解线程的概念及...

    linux 进程前后台切换命令

    在Linux系统中,进程管理是一项重要的技能,尤其是在服务器管理和日常开发工作中。对于进程的前后台切换,Linux提供了多种实用的命令来帮助用户更好地控制正在运行的任务。本文将详细介绍如何使用这些命令来有效地...

Global site tag (gtag.js) - Google Analytics