首页 > > > linux-系统进程管理-进程介绍
进程介绍
进程管理
进程优先级
什么是进程?
Linux系统中的几乎任何行动都会以进程的形式进行。如果你用网络浏览器查看网页,浏览器就作为进程运行。如果键入bash shell的命令行,这个shell就作为进程运行。如果你用chmod命令来更改文件权限,chmod就作为单独的进程来执行。进程是完成工作的形式,linux内核的基本职责就是为进程提供做事情的地方,不让彼此撞车。
进程是已启动的可执进程序的运行实例,进程有以下组成部分:
已分配内存的地址空间
安全属性,包括所有权凭据个特权
程序代码的一个或多个执行进程
进程状态
进程与程序区分
程序:二进制文件,静态。
进程:是程序运行的过程,动态,有生命周期及运行状态
进程的属性:
进程ID(PID):是唯一的值,用来区分进程
父进程(PPID)
启动进程的用户ID(UID)和所归属的组(GID)
进程状态:分为运行R,休眠S,僵尸Z
进程执行的优先级
进程所连接的终端名
进程资源占用:如内存、CPU等
进程(Process)是一个程序在其自身的虚拟地址空间中的一次执行活动。之所以要创建进程,就是为了使多个程序可以并发的执行,从而提高系统的资源利用率和吞吐量。
程序只是一个静态的指令集合;而进程是一个程序的动态执行过程,它具有生命期,是动态的产生和消亡的。
ps top gnome-system-monitor pstree linux并发执行 jobs fg bg crtl+z at crontab
进程家族
引导系统时,Linux内核的一个职责是启动第一个进程(通常是/sbin/init)。因为一个业已存在的进程继续派生,所有其他进程得以启动。
如何终止进程
当进程终止时,可能是通过选择退出(exit)正常终止,也可以是因为接收到信号而非正常终止。
孤儿进程
如果说处理子进程终止后的善后事宜是父进程的职责的话,那么如果父进程在子进程之前终止该怎么办?这个子进程就变成了孤儿进程。
僵尸进程
当进程退出,释放大多数资源和它的父进程收集它的返回值、释放剩余资源这两段时间之间,子进程处于一个特殊状态,被称为僵尸进程(zombie)。每个进程都会经过一个短暂的僵尸状态。
五种进程状态
可运行(R)
处于可运行状态的进程,一旦有机会,就会访问CPU。多个进程可以(而且经常)处于可以运行状态,但是因为在任何给定时间内只有一个进程可以在CPU上运行,所以实际上这些进程中只有一个在任何给定的实例上运行。
自愿(可中断的)睡眠(s)
从名称中可以看出,处于自愿睡眠状态的进程选择处于该状态。通常,这一进程在某事发生之前无事可做。
非自愿(不可中断或强制)睡眠\(D\)
内核迫使进程进入非自愿睡眠状态。该进程并没有选择休眠,它情愿运行以便做完事情。当资源被释放时,内核会唤醒进程并将设置为可运行状态。
停止的(挂起的)进程(T)
用户有时决定挂起进程,被挂起的进程在被用户重新启动前不会执行任何操作。
僵尸进程(Z)
每个快要终止的进程会经历一个短暂的僵尸状态,然而有时有些进程会一直停留在僵尸状态。
静态任务管理器
ps - report a snapshot of the current processes
语法
ps [options]
命令选项:
a: 显示跟当前终端关联的所有进程
u: 基于用户的格式显示
x: 显示所有进程,不以终端机来区分
U: 显示某用户ID所有的进程
A: 显示所有程序
e: 此参数的效果和指定"A"参数相同
f: 用ASCII字符显示树状结构,表达程序间的相互关系
o: 自定义输出格式
ps -aux 输出解释

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 进程拥有者
PID: pid %CPU: 占用的 CPU 使用率
%MEM: 占用的内存使用率
VSZ: 占用的虚拟内存大小
RSS: 占用的内存大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该进程的状态:
D: 不可中断的静止
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的内存分页可分配
<: 高优先序的进程
N: 低优先序的进程
L: 有内存分页分配并锁在内存内 (即时系统或捱A I/O)
s 表示进程是控制进程
l 表示进程是多线程
+表示当前进程运行在前台
START: 进程开始时间 TIME: 执行的时间 COMMAND:所执行的指令
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2730/viewspace-3123972/ ,如需转载,请注明出处,否则将追究法律责任。