1.什么是进程?
我的理解:
程序正在运行的状态为进程 ,也就是cpu未完成的工作
进程是正在运行的程序的实例,程序并不是进程
进程就是系统未完成并正在进行的工作
官方定义:
程序放置在存储媒体中(硬盘、光盘、软盘、磁带等),以实体文件的形态存在
进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中
操作系统会给内存内的单元一个识别码( PID),也就是说,进程是一个正在运行当中的程序
举例:
错误认知 | /bin/watch 该二进制文件里面记录了产生进程的程序 ,并不是进程 |
---|---|
正确认知 | /bin/watch -n 1 date 为开启一个进程,程序被运行起来为进程,在cpu和内存中存放 |
注意:应学会运行一个进程并且查看该进程的各种信息 ,例如:processes
知道了什么是进程以后,接下来我们一起看看和进程相关的一些内容吧!
2.进程的基本实验环境
和进程相关的实验操作是在一台虚拟机当中进行,我使用desktop虚拟机
在真机里面开启一台虚拟机的操作如下:
3.进程运行的状态
R( running) | 表示此进程正在使用当中 |
---|---|
S(sleep) | 睡眠状态,将一个进程最小化时,相当于该进程被优化了,可以直接被唤醒 |
Z(zombine ) | 僵尸状态 ,该进程占用系统资源并不为系统服务,属于异常状态 |
T(stop) | 停止状态,可能是被控制或者出错了,不能直接唤醒,但可以用命令强制唤醒 |
D | 不可被唤醒的睡眠状态,通常是进程可能在等待I/O的情况下 |
比如:
注意:
可以直接在进程图形界面中查看
一个进程停止不等于进程结束
4.如何查看系统的进程?
有两种方式:图形方式和命令方式
图形方式和命令方式的区别在于:
图形方式展示的进程为图形界面
命令方式展示的进程为shell里面的文本模式
(1)图形方式查看进程:
直接在shell里面输入命令:gnome-system-monitor 回车即可看到进程
(2)命令方式查看进程:
在shell里面输入相应的命令即可查看相应的进程信息
采用ps命令 ,可以用 man ps来查看它的使用方法
ps ##ps自己所在的shell里面运行的进程
ps a ##在shell当中运行的所有进程,包括shell的环境bash
ps -a ### 在shell当中运行的所有进程,不包括shell环境本身信息bash
注意:所有shell的环境一样,具体id不一样
ps -A ###系统当中所有的进程,与shell无关
ps -d ###与A类似 ,没有允许环境(shell)
ps -e ###显示进程的扩展信息(系统资源),与-A 差不多
ps x ###显示所有输出设备终端的进程
ps -u ###显示用户信息 ,id等等 ,终端 ,各种时间
ps -f ###显示副级进程以及子进程
(3)用来查看进程的常用的ps组合:
ps aux ##显示系统当中的所有进程并显示进程用户