关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » HTML5 »12 个 Linux 进程管理命令介绍

    12 个 Linux 进程管理命令介绍

    2015-06-02 00:00:00 出处:segmentfault
    分享

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

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

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

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

    12个进程管理命令介绍

    1. ps

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

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

    12个进程管理命令介绍

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

    2. pstree

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

    12个进程管理命令介绍

    3. top

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

    12个进程管理命令介绍

    4. htop

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

    12个进程管理命令介绍

    5. nice

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

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

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

    12个进程管理命令介绍

    12个进程管理命令介绍

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

    6. renice

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

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

    12个进程管理命令介绍

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

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

    12个进程管理命令介绍

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

    7. kill

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

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

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

    pkill <进程名>

    12个进程管理命令介绍

    12个进程管理命令介绍

    8. ulimit

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

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

    12个进程管理命令介绍

    -f - 最大文件尺寸大小
    -v - 最大虚拟内存大小(KB)
    -n - 增加最大文件描述符数量
    -H : 改变和报告硬限制
    -S : 改变和报告软限制

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

    9. w

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

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

    12个进程管理命令介绍

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

    12个进程管理命令介绍

    whoami 命令输出当前用户ID

    12个进程管理命令介绍

    10. pgrep

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

    pgrep -u mint sh

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

    12个进程管理命令介绍

    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个进程管理命令介绍

    12. ipcs

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

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

    ipcs -p -m

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

    12个进程管理命令介绍

    总结

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

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。