Linux —— 查看进程命令及进程优先级

news2024/11/25 2:25:11

目录

一,查看进程命令

1,ps 命令 

ps axj

ps aux

ps l

ps -l

2,top 命令

3,ptree 命令

4,pgrep 命令

三,进程优先级

PRI

NI


一,查看进程命令

        ps、top、pstree、grep;

1,ps 命令 

        静态查看进程信息,可接受多种选项;

  • UNIX选项,需加破折号(-);
  • BSD选项,不需加破折号(-);
  • GNU长选项,需加两个破折号(-);

选项

  • a,取消BSD风格的“仅你自己”限制,列出所有使用终端tty的进程;与选项x一起将列出所有进程;
  • x,取消BSD风格的“需有tty”限制,列出所有仅自己的进程;
  • j,BSD作业控制格式,增加了如PPID等信息;
  • u,显示面向用户的格式,显示如USER、%CPU、%MEM等信息;
  • l,BSD长格式显示,显示如F、UID、PID、PPID、PRI等;
  • -l,长格式,常与-y一起使用,显示如F、S、UID、PID、PPID、C等;
  • -A、-e,列出所有进程;
  • -a,列出所有进程,除了 session leaders 和关联终端的进程;
  • -d,列出所有进程,除了 session leaders ;
  • p、-p、--pid,选择指定PID的进程;
  • --ppid,选择指定PID的父进程;
  • U、-u、--user,选择用户RUID或名字的进程;

ps axj

[wz@192 ~]$ ps axj | head -1 && ps axj | grep bash
  PPID    PID   PGID    SID TTY       TPGID STAT   UID   TIME COMMAND
     1    786    775    775 ?            -1 S        0   0:00 /bin/bash /usr/sbin/ksmtuned
  2095   2231   2231   2231 ?            -1 Ss    1000   0:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic"
  2848   2856   2856   2856 pts/0      2937 Ss    1000   0:00 bash
  2848   3086   3086   3086 pts/1      4838 Ss    1000   0:00 bash
  3086   4839   4838   3086 pts/1      4838 S+    1000   0:00 grep --color=auto bash

ps aux

[wz@192 ~]$ ps aux | head -1 && ps aux | grep bash
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        786  0.0  0.0 115408   952 ?        S    07:27   0:00 /bin/bash /usr/sbin/ksmtuned
wz         2231  0.0  0.0  72472   776 ?        Ss   07:28   0:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic"
wz         2856  0.0  0.1 116860  3300 pts/0    Ss   07:28   0:00 bash
wz         3086  0.0  0.1 116860  3416 pts/1    Ss   07:37   0:00 bash
wz         4849  0.0  0.0 112816  1012 pts/1    S+   08:59   0:00 grep --color=auto bash
  • USER,进程的用户;
  • PID,该进程标识符;
  • %CPU,该进程占用CPU的百分比;
  • %MEM,该进程占用内存的百分比;
  • VSZ,该进程使用虚拟内存量KB;
  • RSS,该进程使用的物理内存量KB;
  • TTY,启动该进程的终端设备,非终端启动显示?;
  • STAT,该进程状态,如R、S、D、T、Z;
  • START,该进程启动时间;
  • TIME,该进程累计cpu时间;
  • COMMAND,该进程启动命令;

ps l

[wz@192 ~]$ ps l 
F   UID    PID   PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
0  1000   2856   2848  20   0 116860  3300 do_wai Ss   pts/0      0:00 bash
0  1000   2937   2856  20   0 119848  2376 do_wai S+   pts/0      0:00 man ps
0  1000   2950   2937  20   0 110408   928 n_tty_ S+   pts/0      0:00 less -s
0  1000   3086   2848  20   0 116860  3420 do_wai Ss   pts/1      0:00 bash
0  1000   5035   3086  20   0 153324  1532 -      R+   pts/1      0:00 ps l

ps -l

[wz@192 ~]$ ps -l 
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1000   3086   2848  0  80   0 - 29215 do_wai pts/1    00:00:00 bash
0 R  1000   5051   3086  0  80   0 - 38331 -      pts/1    00:00:00 ps
  • F,该进程标志,说明进程权限;
    • 1,仅可复制,不可执行;
    • 4,进程权限为root;
  • S,该进程状态,如R、S、D、T、Z;
  • UID,该进程执行者;
  • PID,该进程标识符;
  • PPID,该进程父进程标识符;
  • C,CPU的使用率;
  • PRI,该进程优先级,值越小优先级越高;
  • NI,该进程nice值;
  • ADDR,该进程的内存地址;
  • SZ,该进程交换空间大小;
  • WCHAN,显示休眠进程的系统函数名;
  • TTY,启动该进程的终端设备,非终端启动显示?;
  • TIME,该进程累计cpu时间;
  • CMD,该进程启动命令;

2,top 命令

        动态实时查看进程信息;

按键

  • P,根据CPU使用百分比排序;
  • M,根据物理内存大小排序;
  • N,根据启动时间排序;
  • c,切换显示命令名称和完整命令行;
  • h,获得top进程在线帮助信息;
  • k,根据提示输入进程PID,并按Enter终止对应进程;
  • 1,显示CPU个数和状态;

3,ptree 命令

         以树形结构查看进程数;

  • -a,显示命令行参数;
  • -u,显示用户名;
  • -p,显示PID;
[wz@192 ~]$ pstree 
systemd─┬─ModemManager───2*[{ModemManager}]
        ├─NetworkManager─┬─dhclient
        │                └─2*[{NetworkManager}]
[wz@192 ~]$ pstree -aup
systemd,1 --switched-root --system --deserialize 22
  ├─ModemManager,682
  │   ├─{ModemManager},697
  │   └─{ModemManager},757
  ├─NetworkManager,840 --no-daemon
  │   ├─dhclient,971 -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens33.pid -lf...
  │   ├─{NetworkManager},846
  │   └─{NetworkManager},849

4,pgrep 命令

        基于名称和其他属性,来查询或显示进程;

  • -l,显示进程名字及PID;
  • -a,显示完整的命令行及PID;
  • -u,匹配用户ID的进程;
  • -n,仅显示最新进程的PID;
  • -o,仅显示最老进程的PID;
  • -t,显示匹配终端的进程PID;
[wz@192 ~]$ pgrep -l bash
2856 bash
3086 bash
[wz@192 ~]$ pgrep -l man
42222 man
[wz@192 ~]$ pgrep -a man
42222 man pgrep
[wz@192 ~]$ pgrep -n bash
3086
[wz@192 ~]$ pgrep -o bash
2856
[wz@192 ~]$ pgrep -u 1000 -l
2090 gnome-keyring-d
2095 gnome-session-b
2104 dbus-launch
2105 dbus-daemon
2140 imsettings-daem
...
[wz@192 ~]$ pgrep -t pts/1,pts/0 -l
44435 bash
44489 bash
44547 man
44562 less

三,进程优先级

        内核使用【0~139】数字来表示140种内部优先级,值越低优先级越高;

  • 【0~99】专供实时进程使用;
  • 【-20~19】Nice值映射到【100~139】;

  • 优先级,即CPU分配资源的先后顺序;决定何时运行及接受CPU多长时间;
  • 优先级高的优先执行,配置进程优先级对多任务环境有用,可改善系统性能;

PRI

  • 表示进程优先级,即程序被CPU执行的先后顺序;
  • 此值越小,级别越高;

NI

  • 表示进程优先级的修正值;
  • 调整进程优先级,在Linux下即调整进程NI值;
  • NI值取值范围为-20~19;
  • PRI(new) = PRI(old) + Nice;

在top中更改进程NI值

  • 进入top -> 输入PID -> 输入NI值;

相关概率:

  • 竞争性,系统进程众多,CPU资源较少,进程间具有竞争性;优先级用于更合理竞争相关资源,从而有效完成任务;
  • 独立性,多进程运行,需独立享受各种资源,运行期间互不干扰;
  • 并行,多进程在多个CPU下分别同时运行;
  • 并发,多进程在单个CPU下一段时间内切换运行;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/775440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯云 Finops Crane 开发者集训营 - 云成本优化一站式解决方案实践

一、 相关活动介绍: 自从上次参加完CSDN联合腾讯云发起的《云原生之降本增效》活动后,只是停留聚焦在优秀实践方法论、资源与弹性、架构设计上的了解,本次《腾讯云 Finops Crane 开发者集训营》是深入了解并实践基于 FinOps 框架开展的一个成…

001-Spring简要原理分析

Bean的生产 class到beanDefinition beanDefinition到Bean Bean查找流程 根据类型找找到多个根据名称找 AOP 在实例化后创建代理对象返回 把之前创建的Bean塞入代理对象的 target 字段中 事务 利用AOP代理掉数据源 在提交事务的时候 关闭自动提交手动提交事务异常回滚事…

【力扣算法16】之 18. 四数之和 python

文章目录 问题描述示例1示例2提示 思路分析代码分析完整代码详细分析运行效果截图调用示例运行结果 完结 问题描述 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[…

MySQL Schema 比较同步工具汇总(2023 版)

数据库 schema 比较工具使你能够识别关系数据库中对象结构的差异,并在多个数据库中同步你的特定对象。它通常用于以下情况: 将数据库变更从私有分支合并到团队的主分支在同构数据库中保持 schema 一致性构建新的数据库测试环境根据应用需求将数据库 sch…

与国外客户会面后,一些用语整理

与客户进行了会面,当客户离开工厂,我们需要对讨论过的内容进行整理并发邮件给客户,这里会用到一些客套语,今天分享部分给大家参考! Well received and thank you for the update, will be sure to take note on those…

利用 DNSLog无回显注入

DNSLog概念 DNSLog(域名系统日志)是一种特殊的技术和服务,用于捕获和记录通过域名系统(DNS)协议进行的请求和响应。它的目的是帮助用户跟踪、分析和管理DNS流量,并收集与域名相关的信息。 基本上&#xf…

JDBC 异常处理(SQLException)

异常处理允许您以受控的方式处理异常情况,例如程序定义的错误。 发生异常情况时,将引发异常。抛出这个词意味着当前程序停止执行,并且控件被重定向到最接近的适用catch子句。如果不存在适用的catch子句,则程序的执行结束。 JDBC…

提升内功之模拟实现库函数strlen/strncpy/strcmp/strcat/strstr/memcpy/memmove

strlenstrncpystrcmpstrcatstrstrmemcpymemmove strlen strlen函数的作用就是求字符串的首元素开始往后计算字符串的长度&#xff0c;直到’\0‘&#xff0c;但不会把\0的长度计算进去 #include<stdio.h>size_t Strlen(const char* src) {size_t count 0;while (*src ! …

SpringBoot 集成 EasyExcel 3.x导入导出

SpringBoot 集成 EasyExcel 3.x导入导出 介绍 EasyExcel 是一个基于 Java 的、快速、简洁、解决大文件内存溢出的 Excel 处理工具。它能让你在不用考虑性能、内存的等因素的情况下&#xff0c;快速完成 Excel 的读、写等功能。 EasyExcel文档地址&#xff1a; https://easyex…

IDEA + Spring Boot + Security + MyBatis Plus+Mysql低代码快速开发平台

IDEA Spring Boot Security MyBatis PlusMysql低代码快速开发平台 一、系统介绍1.环境配置 二、系统展示1. 管理员登录2.主页3.用户管理4.角色管理5. 权限管理6. 部门管理7. 数据字典8.文件管理9.系统配置10.电子邮件11.站内消息12.数据监控13.定时任务14.在线用户15.任务日…

芯片验证板卡设计方案:基于VU440T的多核处理器多输入芯片验证板卡

基于VU440T的多核处理器多输入芯片验证板卡 一、板卡概述 基于XCVU440-FLGA2892的多核处理器多输入芯片验证板卡为实现网络交换芯片的验证&#xff0c;包括四个FMC接口、DDR、GPIO等&#xff0c;板卡用于完成甲方的芯片验证任务&#xff0c;多任务功能验证。 …

图书管理系统【C语言】

咱就是说这太令人绝望了&#xff01; &#xff01;&#xff01; 图书管理系统 这是一个平平无奇的系统。 一、系统要求 1、实现以下基本功能 1.添加图书 2.删除图书 3.保存图书 4.图书列表 5.修改图书 6.查找图书 7.图书排序 …

网络安全运维工程师的主要职责

什么是安全运维工程师呢&#xff1f;安全运维工程师就是网络安全大方向下的网络安全运行与维护的一个细分岗。 IT运维工作方向比较多&#xff0c;列如安全运维、数据运维、应用运维、系统运维等&#xff0c;今天我们就来了解一下网络完全运维工程师是什么&#xff1f;同时也了…

【Java】顺序表

文章目录 顺序表LinkedListArrayList构造方法带参&#xff08;int&#xff09;构造不带参构造满&#xff0c;需要扩容 remove()remove(int)remove(Object) subList() 几点注意顺序表的优缺点优点&#xff1a;缺点&#xff1a; 顺序表 底层是数组&#xff0c;进行动态分配后可以…

NAT种类和NAT穿越

NAT种类 说明 NAT有三种类型&#xff1a;静态NAT(tatic NAT)、动态地址NAT(Pooled NAT)和网络地址端口转换(NetworkAddress PortTranslation&#xff0c;NAPT)。 其中静态NAT设置起来最简单&#xff1b; 内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址&#x…

求出0~100000之间的所有“水仙花数”并输出

求出0~100000之间的所有“水仙花数”并输出。 “水仙花数”是指一个N位数&#xff0c;其各位数字的n次方之和正好等于该数本身。 如&#xff1a;1531^3 5^3 3^3 , 则153是一个“水仙花数” 先来了解一下水仙花数的概念&#xff1a; 水仙花数只是自幂数的一种&#xff0c;严…

Flutter侧边栏组件Drawer

主要代码&#xff1a; drawer: const Drawer(child: Column(children: [Row(children: [Expanded(flex: 1,child: UserAccountsDrawerHeader(accountName: Text("张三"),accountEmail: Text("xxxqq.com"),currentAccountPicture: CircleAvatar(backgroundI…

解决git克隆到本地的仓库文件夹不显示红色感叹号、绿色对号等图标的问题

电脑有时候重启或者别的什么原因导致本地仓库不显示绿勾或者红色感叹号的符号 第一步: win加R然后输入regedit打开注册表 第二步: 按下面路径打开 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers 找到如下图在Tort…

浅谈JVM内存结构

一、JVM内存结构的大概划分&#xff1a; 1.1 堆(Heap) 线程共享。所有的对象实例以及数组都要在堆上分配。回收器主要管理的对象。 1.1.1 堆结构 堆可以处于物理上不连续的内存空间中&#xff0c;只要逻辑上是连续的即可。堆的内部结构按照传统的做法分成新生代和老年代&…

喝汽水问题:1瓶汽水1元。2个空瓶可以换1瓶汽水,给20元,可以买多少汽水 (7.19)

泪目&#xff01;&#xff01;&#xff01;终于是自己完完整整写出的代码了&#xff0c;不翻资料也没看参考代码 &#xff08;之前的要么和老师练习&#xff0c;要么找教材东拼西凑&#xff09; 方法2&#xff1a;数学角度看bottle价值0.5 元&#xff0c;20元最多可换40bottl…