什么是进程
正在运行的程序;
而程序是静态的,是一些保存在磁盘上指令的有序集合。
进程是动态的,每个进程都有自己独立的空间,进程是资源分配的最小单元,是程序执行的过程,包括创建,调度和消亡。
进程资源
1.内核空间资源
即PCB(进程控制块)这些资源,必须通过系统调用才能访问,这些资源在当前进程退出,只能通过父进程回收,不回收回导致僵尸进程。
2.用户空间资源
实质上就是进程的代码段,数据段,堆,栈,这些资源在进程退出主动释放。
查看进程的命令
1.ps aux命令
2.ps -ef命令:查看所有进程的详细信息:ID号,详细目录,系统时间,执行者........
3.top命令:动态查看进程,3秒左右刷新一次。
4.pstree命令:树形结构显示进程
5.kill命令:输出特定信号给指定进程号的进程。
kill -l:列出所有可用信号(共64个信号)。
eg:kill -l 进程的id号 (杀死这个进程)
进程分类
1.交互进程
由shell控制和运行,交互进程既可以在前台运行,也可以在后台运行。
2.批处理进程
该类进程不属于某个终端,他被提交到一个队列中以便顺序执行
3.守护进程
该类进程在后台运行,一般在linux启动开始执行,系统关闭结束
进程状态
1.运行状态(R)
2.阻塞状态(S)可中断
阻塞状态(D)不可中断
3.暂停状态(T)
4.僵尸状态(Z)
5.消亡状态(X)
进程的优先级
优先级范围在-20 - 19之间,值越大优先级越低
优先级可以修改,但是最多只能修改到0,想要修改为负值,只能通过root设置nice,按用户指定的优先级运行进程。
eg:sudo nice -n -2 ./可执行文件名
sudo rennice -n -4 user号 (执行后会显示旧优先级和新优先级的值)