1、进程概念

通俗的讲进程就是一个运行起来的程序,只占用系统的内存空间,并且有唯一的进程标识符(PID),但和程序又有区别,程序是指令加数据,是一个进程指令的集合,可以启用一个或者多个进程,是静态的,而且长久保存。进程是动态的,有生命周期,是动态产生的,进程一旦消失,内存空间就会跟着释放。

linux内核存储进程的信息的格式是task_struct,多个task_struct组成链表task_list,通过这个两个来定义和管理进程。

进程的分类:

1、根据不同模式:

1.1、守护进程 :系统一开始启动的,在系统引导过程中启动的进程。

1.2、用户进程:终端启动的进程和用户启动的进程

使用pstree命令查看进程树:[[email protected] network-scripts]# pstree

systemd─┬─NetworkManager───3*[{NetworkManager}]

├─agetty

├─anacron

├─auditd───{auditd}

├─crond

├─dbus-daemon───{dbus-daemon}

├─dmeventd───2*[{dmeventd}]

├─firewalld───{firewalld}

├─lvmetad

├─master─┬─pickup

│        └─qmgr

├─polkitd───5*[{polkitd}]

├─rsyslogd───2*[{rsyslogd}]

├─sshd───sshd───sshd───bash───su───bash───pstree

├─systemd-journal

├─systemd-logind

├─systemd-udevd

└─tuned───4*[{tuned}]

系统上父进程就是systemd,其它进程都是它的子进程。

2、根据进程的的运行状态:

2.1、运行状态:running

2.2、就绪态:ready     随时可以启动

2.3、睡眠态:又分为四种

可中断:interrupttable

不可中断:uninterrupttable

停止态:stoped, 暂停于内存中,除非手动启动

僵死态:zombie

3、根据操作的密集型划分:

CPU-Bound:占用cpu较多的进程

IO-Bound:     占用I/O较多的进程

ps命令:查看系统上进程的状态

ps [option]:

-a:显示所有终端相关的进程

-x:显示所有终端无关的进程

-u:显示已用户为中心的进程状态信息

组合命令:aux                 注意:以 [ ] 表示的都是内核线程[[email protected] network-scripts]# ps aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1  0.0  0.7  57756  7608 ?        Ss   Mar24   0:04 /usr/lib/systemd/systemd --switch

root         2  0.0  0.0      0     0 ?        S    Mar24   0:00 [kthreadd]

root         3  0.0  0.0      0     0 ?        S    Mar24   0:09 [ksoftirqd/0]

root         5  0.0  0.0      0     0 ?        S

root         7  0.0  0.0      0     0 ?        S    Mar24   0:00 [migration/0]VSZ:虚拟内存集       // 虚拟内存使用大小

RSS:常驻内存集       // 所有不能被置换出去的内存集

TTY:终端用户         // ?是表示与终端无关的进程

START:启动时间

TIME:运行时间

COMMAND:进程的运行命令  // [ ]表示的内核线程

STAT:内存状态

R:running

S: 可中断的睡眠

D:不可终端的睡眠

T:停止状态

Z:僵死态

+:前台进程

l: 多线程进程

N:低优先级进程

s: 会话主导者

常用组合命令2:-ef

-e:显示所有进程

-f :显示完整格式的进程信息[[email protected] network-scripts]# ps -ef

UID        PID  PPID  C STIME TTY          TIME CMD

root         1     0  0 Mar24 ?        00:00:04 /usr/lib/systemd/systemd --switched-root --system

root         2     0  0 Mar24 ?        00:00:00 [kthreadd]

root         3     2  0 Mar24 ?        00:00:09 [ksoftirqd/0]

PPID:表示的是父进程PID

常用组合3:-eEH

-F:显示完整格式的进程信息,额外信息

-H:以层级结构显示进程的相关信息[[email protected] network-scripts]# ps -eFH

UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD

root         2     0  0     0     0   0 Mar24 ?        00:00:00 [kthreadd]

root         3     2  0     0     0   0 Mar24 ?        00:00:09   [ksoftirqd/0]

root         5     2  0     0     0   0 Mar24 ?        00:00:00   [kworker/0:0H]

root         7     2  0     0     0   0 Mar24 ?        00:00:00   [migration/0]

C:表示cpu百分比

PSR:运行于哪颗CPU上

-o:自定义要显示的字段,选项之间用逗号隔开.

pid,ni,pri,psr,pcpu,stat,comm,tty,ppid

ni:nice值,越小优先级越高

pri:优先级

rtprio:实时优先级

常用组合4:-eo       axo[[email protected] network-scripts]# ps -eo pid,ni,pri,comm,user

PID  NI PRI COMMAND         USER

1   0  19 systemd         root

2   0  19 kthreadd        root

3   0  19 ksoftirqd/0     root

top:显示占用资源最多的进程排名信息[[email protected] network-scripts]# top

top - 04:58:36 up 11:29,  1 user,  load average: 0.00, 0.01, 0.05

#     系统时间   登录时间  登录用户    系统负载:1分钟 5分钟  15分钟

Tasks: 233 total,   2 running, 231 sleeping,   0 stopped,   0 zombie

#    任务总数       运行进程    睡眠进程         停止进程     僵死进程

%Cpu(s):  0.3 us,  0.7 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem :  1010340 total,   700440 free,   140788 used,   169112 buff/cache

#    内存总数                闲置内存数     使用内存数       缓存大小(可回收)

KiB Swap:  2097148 total,  2097148 free,        0 used.   705236 avail Mem

#      交换分区空间          剩余交换分区   使用交换分区   可用的内存大小

# %Cpu(s):  0.3 us:运行于用户空间所占用的cpu百分比

# %Cpu(s):  0.3 sy: 运行于内核空间所占用的cpu百分比

# ni: nice值调整占用cpu的百分比

# id: 系统空闲所占用cpu的百分比

# wa: 等待I/O所占用的cpu百分比

# hi:硬件中断所占用的cpu百分比

# si:软件终端所占用的cpu百分比

# st:一般指虚拟机所占用的cpu百分比

PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND

6382 root      20   0       0      0      0 S  0.3  0.0   0:04.82 kworker/0:1

#PR: 优先级

#NI: nice值

#VIRT:虚拟内存集

#RES: 常驻内存集

#SHR: 共享内存集

选项:

-d #:指定刷新时间的间隔,默认为3秒

-b:以批次方式显示

-n #:显示多少批次[[email protected] yum.repos.d]# top -d 5 -b -n 3

htop命令:比top更炫酷狂拽掉渣天,支持鼠标点击。

需要先安装htop,直接yum -y install htop

选项:

-d #:指定延迟时间间隔

-u UserName:仅显示指定用户的进程

-s COLUME:以指定字段进程排序

子命令:

l:显示选定的进程打开的文件列表

s: 显示跟踪选定的进程的系统调用

t: 以层级关系显示各进程状态

a: 将选定的进程绑定至某指定的cpu核心

dstat命令:实时更新系统的信息

选项:

-c:显示cpu                                                --tcp:       显示tcp信息

-C #,#:分别显示每一颗                           --udp:      显示udp信息

-d:显示disk                                            --raw:      显示raw信息

-D sda,sdb                                              --socket:    显示套接字信息

-g:显示page相关的速率数据                        --top-cpu:显示最占cpu的进程

-m:memory的相关统计数据                         --top-io:  显示最占IO的进程

-n:Interface的相关统计数据                          --top-mem: 显示最占内存的进程

-p:显示process的相关统计数据                     --top-lantency:  显示延迟最大的进程

-r:显示io请求的相关的统计数据                      -l:显示系统负载

-s:显示swapped的相关统计数据

示例:

hrs软件在linux下如何启动,linux中进程管理的三大工具及进程查看命令相关推荐

  1. linux单步调试方法,linux下gdb单步调试(中).doc

    linux下gdb单步调试(中) linux下gdb单步调试(中) linux下gdb单步调试(中) 一.设置断点( BreakPoint ) 我们用 break 命令来设置断点.正面有几点设置断点的 ...

  2. linux下apache服务器的配置和管理(启动、重启、中断服务)

    2019独角兽企业重金招聘Python工程师标准>>> linux下apache服务器的配置和管理 一.两个重要目录: Apache有两个重要的目录: 1.配置目录/etc/http ...

  3. 解决Linux下MySQL启动错误Starting MySQL.Manager of pid-file quit without updating file.[FAILED]...

    刚装完MySQL,启动时报如下错误: Starting MySQL.Manager of pid-file quit without updating file.[FAILED] 解决Linux下My ...

  4. Linux下Tomcat启动报错:port already in use

    Linux下Tomcat启动报错:port already in use,导致该问题的原因很多,我在这里记录一下我遇到的情况的解决办法. 检查了${TOMCAT_HOME}/conf/server.x ...

  5. linux 修改hba参数,更改Raid卡和HBA卡在linux下的启动顺序

    更改Raid卡和HBA卡在linux下的启动顺序 发布时间:2006-01-11 10:13:07来源:红联作者:新新 当server安装好RHEL3系统以后,如果又添加了HBA卡,准备连接光纤存储的 ...

  6. linux下安装nginx启动,Linux下安装启动nginx的过程

    1.首先将nginx的安装包传到虚拟机里的/home目录下 2.为了方便nginx运行而不影响linux安全需创建组合用户 groupadd -r nginx useradd -r -g nginx  ...

  7. linux下tomcat启动后出现多个java进程

    偶尔发现linux下tomcat启动后出现多个java进程,如下: 000 S     0  4789     1  0  85   0    - 75083 schedu pts/1    00:0 ...

  8. 查看linux下tomcat启动日志

    目录 查看linux下tomcat启动日志 但是通过浏览器无法访问 备注:防火墙常用操作 通过日志文件查找浏览器无法访问原因 查看linux下tomcat启动日志 启动tomcat之后,通过ps -e ...

  9. teamviewer 黑屏 linux,Teamviewer 在 Linux 下无法启动?

    Teamviewer 是跨平台的远程桌面连线工具,在 Linux.Mac OS X和 Windows下都可以用,但在 Linux 下无法启动时怎么办? Teamviewer 是跨平台的远程桌面连线工具 ...

最新文章

  1. Web应用里的HTTP参数污染(HPP漏洞)
  2. TCP/IP 协议栈及 OSI 参考模型详解
  3. 详解JMeter函数和变量
  4. SAP UI5 的 sap-ui-bootstrap script 脚本标签各属性解析
  5. 记录一次nginx 配置https 强制http转发到https
  6. php小算法总结一(数组重排,进制转换,二分查找)
  7. jQuery keyup事件
  8. JS获取填报扩展单元格控件的值
  9. 数据库的开窗函数学习
  10. CUBRID学习笔记 43 insert into
  11. 【win10专业版】ultraiso如何制作光盘启动盘
  12. 中国AI公司会议室取名简史
  13. 百度地图 3.0 WEB离线开发
  14. java日期 国际化_java中国际化的时间处理
  15. 科研论文翻译软件|无广告|强力推荐
  16. 中国大陆手机号码如何注册谷歌账号?解决手机收不到验证码
  17. ElementUI TimePicker固定时间范围,开始时间小于结束时间
  18. 计算机二进制由来阴阳,二进制来源于八卦?
  19. 2021年中国电动剃须刀行业发展现状分析,行业高端化趋势明显「图」
  20. SpringBoot工程如何打war包进行云部署

热门文章

  1. 苹果iPhone 8或被阻击!
  2. VMware ubuntu虚拟机的安装过程记录
  3. 【Tanzu 社区版=TCE】 Mac 笔记本快速部署安装体验-(一)
  4. 《最高人民法院最高人民检察院关于办理组织考试作弊等刑事案件适用法律若干问题的解释》
  5. 【Windows程序设计】模拟时钟
  6. 基于双馈风机的调频电源改造方案
  7. Connection to tcp://39.96.3.215:1935 failed: Error number -138 occurred
  8. 博图买什么样配置的笔记本_在电脑上安装博途软件电脑运行较为顺畅,笔记本电脑需要怎样的配置?...
  9. 全员股权激励不等于全员持股
  10. 面试时,没有谈薪资,叫回去等通知,还有机会吗