进程介绍及查看工具

xiaoxiao2021-02-27  168

进程描述:

进程是硬盘中程序代码运行时的形态,进程是代码的实例.产生进程的方法便是将代码执行. linux是多任务的操作系统,也就是说系统内核启动后,可以多个进程同时运行,或者呈现出多任务同时运行的假象,多任务的实现方法是基于时间上的轮循,即每个进程被CPU执行一段时间后替换为下一进程执行,或多进程是通过分配时间片实现的,将时间进行分片,时间也是物理量,同样可被分片.多进程确实都是在同时运行,但是拥有了时间的进程才可以继续演变.逻辑上的实现,物理上就是通过cpu执行时的轮循实现的.

多任务的操作系统的实现:

多任务的实现方式可以分为协作式多任务与抢占式多任务,协作式多任务应用在早期, 抢占式多任务对多进程之间的轮循控制是通过优先级实现的,在centos 4,5中系统一共有0-139共140个优先级,而在centos6中共有0-99共100个优先级。并且系统的优先级采用nice值进行最终的修正,nice优先级共有-20~+19共40个。最终的优先级是通过nice值修正过的优先级。 用户可以改改变进程的nice值来修正最终的优先级,在centos 45 中程序的初始优先级为120 ,nice值为0,所以通过修改nice值 ,改变最终的优先级的浮动范围为100-139之间。

进程的分类:

进程按照依赖关系可以分为,守护进程,前台进程。 守护进程:在系统启动时通过init.d 启动的进程。不需要依附在终端之上的进程。 前台进程:通过终端启动的进程,需要依附终端。并且占用终端的进程。 前台进程与守护进程可以互相转化。
进程按照硬件资源的占用可分为,CPU密集型,io密集型。

进程的状态:

运行态:running 就绪态:ready 睡眠态: 可中断:interruptable 不可中断:uninterruptable 停止态:stopped 暂停于内存,但不会被调度,除非手动启动 僵死态:zombie 结束进程,副进程结束前,子进程不关闭。

进程查看的工具:

ps
ps是一个古老的沧桑的进程管理工具,ps支持多种风格的选项格式。 ps :显示当前登录的终端上运行的进程。
Unix风格的选项 如:-a -ef -e显示所有的进程 -f显示所有进程的详细信息 -F显示所有进程的更更更详细的信息 -H以带有缩进的方式显示进程,以体现出进程间的父子关系 -C显示指定的进程的信息 例:ps -C test.sh 注:当脚本中不添加shebang时 -C无法查看脚本的进程信息 -o显示指定的属性信息 例:ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
BSD风格的选项 如:a aux a 显示所有与终端相关的进程,即依附在终端上运行的进程 x显示所有与终端无关,即不依附终端的的进程,比如守护进程。 u显示进程所有者的信息 f显示信息中进行缩进并用/\进行标示,以体现出进程的父子关系。 k以指定的属性进行排序 例:ps axo stat,user,pid k pid o显示指定的属性信息 例:ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm,%cpu,%mem,user,pri ruser:发起进程的用户 pri:优先级,但是为ps内部的优先级。pri优先级0 - +39对应nice优先级 19 - -20 也就是是数值越大优先级越高 ni:nice值 psr:processor cpu编号 rtprio :实时优先级
GNU风格的选项 如: --help

ps aux 显示的格式

[root@localhost ~]# ps aux |head USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

用户 ID cpu占用率 内存占用率 承诺的内存 实际占用的内存 该进程依附的终端 状态 进程的创建时间 进程实际占用CPU的时间 进程的名称 注:此时显示的用户并非是发起进程的用户,而是实际生效的用户,比如SUID权限程序的属主。

ps显示STAT的状态种类: R:running 正在运行中的进程 S:interruptable sleeping D:uninterruptable sleeping T:stopped Z:zombie +:前台进程 l:多线程进程 L:内存分页并带锁 N:低优先级进程 <:高优先级进程 s:session leader 会话(子进程)发起者

pstree 以树状结构显示进程信息,显示的信息中使用{}进行表示的是线程信息。 -p :显示进程的pid

top 在字符界面以交互的方式显示当前系统中的 负载信息,进程信息, 选项,运行top时指定 -d 指定刷新时间的间隔,默认为3秒钟 -b 显示所有的进程 ,在不指定-b选项时,只显示一屏信息。 -n 指定刷新次数,到达指定次数后退出。 全局显示设定,同样在运行时输入 s 修改刷新时间间隔 指定top显示进程的排序,在程序运行时输入 P按照占据CPU的百分比进行排序 ,即显示%CPU的栏 M按照占据内存的百分比进行排序,即显示%MEM的栏 T按照积累占据cpu的时长,即显示TIME+的栏 指定top显示的头部信息的格式,同样在程序运行输入,实现显示模式的切换,模式中包括不显示模式, l系统运行时间 平均负载的信息切换。即第一行。 t tasks与%cpu 的显示信息显示模式切换,第二行与第三行 m memory信息 ,即内存信息显示模式切换,第四行与第五行 1 切换显示的cpu,在具有多颗cpu时有意义,第三行 其他操作 k 终止指定的进程,默认是指定cpu占用率最高的 w 保存文件 退出 q top 的界面信息如下:

htop 彩色的 top

glances glances 来自epel源,实现查看远程主机的进程信息。

nice 指定程序的nice值 例: nice -n -20 ping 10.1.1.1 指定ping程序的nice值为-20.相当于系统优先级的 120+(-20)=100 nice -20 ping 10.1.1.1 指定ping程序的nice值,-20 -识别为选项。所以优先级会设置为20 但是nice的优先级最大只能为19,所以最终的nice值为19 nice –20 成功的指定nice值为20 -为选项 -20为nice值 ,但是命令要规范

pgrep 按照命令的指定的方式显示进程 -u 进程的最终生效者 -U 进程的真正发起者 -t terminal 与指定终端相关的进程 -l 显示进程名称 -a 显示完整格式的进程名称 -P 显示指定进程的子进程

pidof 显示指定进程的ID 可以用于脚本中判断程序是否已经启动,在指定程序没有启动时,$?为非零值 例: pidof http 显示http的进程id号 if pidof http 使用if语句判断 http服务是否已经运行

pmap 显示进程对应的内存映射,等价于 cat/proc/{PID}/maps -x 显示详细格式的信息

转载请注明原文地址: https://www.6miu.com/read-10231.html

最新回复(0)