进程(process)是程序实体运行的过程,是系统进行资源分配和调度的独立单位,或者说是一个程序在处理机上的一次执行活动。
区分一下进程和程序
1.0 程序是一个静态指令的集合;而进程是一个程序的动态执行过程,它具有生命期,是动态产生和消亡的程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此它不占用系统运行的资源。
2.0 程序和进程无一一对应的关系。
看一看windows系统的进程,线程
**进程属性**
与windows系统一样,在linux中也总是有许多进程在运行,每一个进程都有一个识别号,叫做PID(process ID),用以区分不同的进程。进程还有,拥有人id,进程名,进程状态,父进程id以及运行时间等。
从linux操作系统的启动过程来看,系统启动后的第一个进程是init,它的pid是1,init是唯一一个右系统内核直接运行的进程,新的进程可以由fork来产生。
**进程的状态**
![](http://images2017.cnblogs.com/blog/1153230/201711/1153230-20171115191147171-1437655511.gif)
就绪状态:进程已经获得cpu以外的运行所需的全部资源。
运行状态:进程占用cpu正在运行。
等待状态:进程正在等待某一事件或某一资源
挂起状态:正在运行的进程,因为某一原因失去cpu而暂停运行
终止状态:进程已经结束
休眠状态:进程主动暂时停止运行
僵死状态:进程已经停止运行,但是相关 的控制信息扔保留。
**进程的优先级:linux系统所有的进程根据其所处的状态,按照时间顺序排列形成不同的队列。进程的优先级范围为-20~19之间的整数,取值越小,优先级越高。**
**进程的类型**
>1.0 系统进程:操作系统启动后。系统环境平台运行所加载的进程,它不终端或者用户关联**
2.0 用户进程:与终端关联,使用一个用户id,是由用户所执行的程序。
3.0 守护进程:没有屏幕提示,只在后台等待用户或者系统的请求,网络多用户系统工作绝大多数通过守护进程实现。
进程控制命令
ps [选项]
-a 显示当前终端所有进程
-A 显示系统所有进程,包括其它用户进程和系统进程信息
u 显示包括进程拥有人在内的详细信息。
%CPU cpu的使用率
%MEM 内存的使用率
VSZ 进程占有虚拟内存的大小
STAT 进程的状态
pstree [选项]
-a 显示启动进程的命令行
-n 按照进程号进行排序
top 实时显示试题进程的状态,包括显示cpu利用率,内存利用率,进程状态等系统信息。
kill [选项] PID
kill % 作业号
终止正在运行的进程或者作业。
-15 正常结束
-9 强制终止进程
-1 重新加载配置文件
nice -n 优先数 命令名
在进程运行前,更改优先级
renice 优先数 PID
在进程运行中更改优先级
>** 先在博客园,更新这么多,简书的markdown比博客园好用些,可以对照,可是博客园做出来跟漂亮些**
参考文章
Linux 杀死进程方法大全(kill,killall)
linux kill命令详解
linux进程状态及转换关系