Linux 是一种动态系统,能够适应不断变化的计算需求。下面介绍一些 Linux 所提供的工具来进行进程的查看与控制,掌握这些让我们能在某些进程出现异常的时候及时查看相关的指标,从而解决问题。

进程管理

进程   process

       

       某应用程序打开的进程

       PID         Process ID

       

       类型:

            用户空间进程

            内核空间进程

用户空间进程:通过执行用户程序、应用程序或内核之外的系统程序而产生的进程,此类进程可以在用户的控制下运行或关闭。

内核空间进程:可以执行内存资源分配和进程切换等管理工作;而且,该进程的运行不受用户的干预,即使是root用户也不能干预系统进程的运行

静态查看进程状态

# ps

[root@wei csdn]# ps                >>>>查看本终端的进程
PID TTY TIME CMD
1806 pts/1 00:00:00 bash
2805 pts/1 00:00:00 ps

选项的使用方式:

BSD风格:选项没有横线-        ps aux

        SysV风格:选项需要带有横线-   ps -elf

        

        

BSD风格:

       

       a :显示与终端相关的进程

       u : 显示启动进程的用户

       x :显示与终端无关的程序

# ps a

# ps u

# ps x

[root@wei csdn]# ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1343 0.0 0.2 115436 2032 pts/0 Ss+ 19:59 0:00 -bash
root 1674 0.0 0.2 115432 2032 tty1 Ss+ 20:01 0:00 -bash
USER 运行进程的用户
%CPU 进程所占欧诺个的CPU百分比
 %MEM  进程所占用的MEM百分比
VSZ  虚拟内存集,进程独有的内存+共享存在
PSS 进程独有的内存

STAT    进程的状态

D: 不可中断的睡眠(等待磁盘IO完成)

      S:可中断的睡眠(不需要等待磁盘IO完成)

      R:运行或就绪

      T: 停止

      Z:僵死  Zombie

< :高优先级进程

          会被CPU优先执行

          会获取更多的CPU执行时间          

    

      N:低优先级进程

      +:前台进程组中的进程

      l:多线程进程(Thread)

      s:会话进程首进程,某一个连接的父进程

[root@wei csdn]# ps aux |less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.6 127940 6580 ? Ss 19:58 0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0.0 0.0 0 0 ? S 19:58 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 19:58 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 19:58 0:00 [kworker/0:0H]

 带有方括号为系统进程(Linux内核启动)

   无方括号的(用户进程)

SysV风格选项:

         

          -e  显示所有进程

          -l  详细信息

          -f  以长格式显示(更多字段类容)

[root@wei csdn]# ps -elf | less
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 80 0 - 31985 ep_pol 19:58 ? 00:00:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
1 S root 2 0 0 80 0 - 0 kthrea 19:58 ? 00:00:00 [kthreadd]
1 S root 3 2 0 80 0 - 0 smpboo 19:58 ? 00:00:01 [ksoftirqd/0]

进程优先级:

      0---139

      

      数据越小,越先级越高

      

高优先级进程:

    会获取CPU更多的执行时间

    会被CPU优先执行

    

nice值:

    新优先级=旧优先级——nice值

    

    -20----19

    

    普通用户仅能够调大nice值,既降低进程优先级

    root用户可以随意调整nice值

    

显示进程树

[root@wei csdn]# yum install psmisc  #  安装显示pstree的命令包

[root@wei csdn]# pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]
├─VGAuthService
├─auditd───{auditd}
├─crond
├─dbus-daemon───{dbus-daemon}
├─login───bash
├─lvmetad
├─master─┬─pickup
│ └─qmgr
├─mysqld_safe───mysqld───21*[{mysqld}]
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sshd─┬─2*[sshd───bash]
│ └─sshd───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
└─vmtoolsd───{vmtoolsd}
[root@wei csdn]# ps aux | grep vim
root 2917 0.2 0.5 151600 5136 pts/2 S+ 21:39 0:00 vim list
root 2925 0.0 0.0 112720 984 pts/1 R+ 21:43 0:00 grep --color=auto vim
[root@wei csdn]# pidof vim
2917
[root@wei csdn]# pidof bash
1828 1806 1674 1343

Linux进程管理之ps的更多相关文章

  1. Linux进程管理之ps的使用

    主题Linux进程管理之ps工具的使用 一ps工具的介绍 ps: process state  进程状态ps - report a snapshot of the current processesL ...

  2. 《linux 进程管理》- ps/top/kill/nice

    一:进程简述 二:ps 查看进程 语法 ps * -A 列出所有进程,和 -e 同等效果 * -a 列出不和本终端有关系的所有进程 * -w 显示加宽,可以显示较多信息 * -u 显示有效使用者相关的 ...

  3. Linux - 进程管理,ps与top

    一个运行的程序,可能有多个进程. PID进程ID. UID启动进程的ID. 进程所属组GID. 进程的状态R运行.S睡眠.Z僵尸. 父进程管理子进程,父进程终止的时候子进程也会终止. 常用的组合为: ...

  4. Linux进程管理(ps、pstree、top、pidof、kill、nice、free)

    进程号(Process ID,PID) 1.ps命令(process status) 无选项时只显示从当前终端当前用户的进程 ps aux 是用BSD的格式来显示 java这个进程显示的项目有:USE ...

  5. Linux进程管理四大工具ps \dstat\ top\ htop

    Linux进程管理之“四大名捕” 一.四大名捕 四大名捕,最初出现于温瑞安创作的武侠小说,是朝廷中正义力量诸葛小花的四大徒弟,四人各怀绝技,分别是轻功暗器高手“无情”.内功卓越的高手“铁手”.腿功惊人 ...

  6. Linux进程管理工具之ps

    1.PS进程管理指令 ps    -aux USER:用户名称 PID:进程号 %CPU:进程占用CPU的百分比 %MEM:进程占用物理内存的百分比 VSZ:进程占用的虚拟内存大小(单位:KB) RS ...

  7. 12个Linux进程管理命令介绍(转)

    12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国  作者:Linux [字体:大 中 小]   执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...

  8. Linux进程管理知识整理

    Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) ...

  9. Linux进程管理与作业控制

    进程和作业的关系:一个作业可以包含多个进程. 进程分类: 1. 交互进程:由一个shell启动的进程.交互进程既可以在前台运行,也可以在后台运行. 2. 批处理进程:这种进程和终端没有联系,是一个进程 ...

随机推荐

  1. Today's missions

    A software for recording events and tasks. You can add, delete and edit tasks anytime, anywhere, eas ...

  2. 使用async-profiler简单分析zeebe 工作流引擎的性能

    刚开始的时候直接使用的系统暴露的prometheus metrics,发现越高的版本反而性能越差,期间使用过了 perf 打算使用perf 生成火焰图的,但是因为符号缺失,只找到了占用较高的任务,详细 ...

  3. appium--解决每次安装appium setting和Unlock

    前戏 每次启动appium进行自动化的时候,都会提示我们需要安装appium setting和Unlock,而且还都要手动确认 那这两个文件是做什么的呢? Appium settings:用于设置网络 ...

  4. 清北学堂(2019 5 2) part 5

    今天讲图论,顺便搞一搞之前没弄完的前向星dij 1.图的基本概念(课件原话): G (图)= (V(点); E(边)) 一般来说,图的存储难度主要在记录边的信息 无向图的存储中,只需要将一条无向边拆成 ...

  5. shell 读取yaml 之 shyaml

    安装shyaml pip3. install shyaml file.yaml文件内容---idc_group: name: bx bx: news_bx: news_bx web3_bx: web3 ...

  6. SpringBoot使用token简单鉴权

    本文使用SpringBoot结合Redis进行简单的token鉴权. 1.简介 刚刚换了公司,所以最近有些忙碌,所以一直没有什么产出,最近朋友问我登录相关的,所以这里先写一篇简单使用token鉴权的文 ...

  7. Failed to start LSB: Bring up/down networking 另外一个偏方

    之前网卡启动不了,会是配置不对,或者是移动了虚拟机导致hwaddr发生了变化. 但是今天没改动什么,突然用不了,一直报错Failed to start LSB: Bring up/down .... ...

  8. docker-composer 简单教程

    原文地址:https://blog.51cto.com/9291927/2310444 Docker快速入门——Docker-Compose 一.Docker-Compose简介 1.Docker-C ...

  9. Asp.Net、API 、MVC、 PUT/DELETE 报405错解决办法

    本地put/delete能正常运行,但是部署在服务器就 报webapi method not allowed 405的错误 解决方案就是在Web.config里面加入如下设置: <system. ...

  10. Python - 批量下载 IIS 共享的文件

    1.说明 用 IIS 以WEB形式发布了本地文件夹,提供文件下载,并设置了访问权限:默认下载需要点击一个一个的下载,web界面如下: 3.脚本 执行脚本批量下载文件,会在当前目录创建文件夹,并压缩该文 ...