本章顺着上一次的博客接着来学习Linux的新知识,介绍了Linux系统中的进程管理。
下面就开始吧
文章目录
- Linux修炼之旅第六章!
- 一、进程是什么?
- 1.进程的定义:
- 2.进程和线程:
- 3.进程状态:
- 二、进程查看命令
- 1.ps命令
- 2.pgrep 进程过滤
- 3.top 动态进程查看
- 三、进程优先级
- 调整优先级
- 四、进程前后台调用
- 五、进程信息号
- 六、系统中的登陆审计
一、进程是什么? 1.进程的定义:
提到进程,比较容易联想到的就是程序
程序和进程其实是有很大联系的,通过程序可以更好地理解什么是进程
程序是静态的代码文件
而进程是指程序运行时的形态
进程是程序的一个副本
进程是有生命周期的(准备期,运行期,终止期),但是程序没有。
进程是资源调用的最小单位
线程是进程的最小单位
当进程是多任务物,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程
线程资源是共享的.
R(TAKS_RUNNING)============可执行态
S(TASK_INTRRUPTABLE)=======可唤醒休眠
D(TASK_UNINTRRUPTABLE)====不可唤醒休眠
T(TASK_STOP)================暂停状态
Z(EXIT_ZOMBIE)==============僵死态
首先是图形进程查看工具
gnome-system-monitor1.ps命令
先上各个功能命令类型,在分别看效果
a 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的) x 与终端无关相关的进程 u 用户信息归类的查看方式 f 进程层级关系 o 显示指定参数# pid comm nice pri pcpu ppid stat,user,group -e 显示所有进程 -f 显示信息的完整格式 -H 显示进程的层级结构 -o 显示指定参数
ps a
ps x 与ps a命令有区别的地方在于显示不带字符终端的,不带字符终端的进程,就是图中带?对应行
ps f 进程层级关系
ps o 注意要在后缀上查看的内容
ps e 显示所有进程
ps -f 显示信息的完整格式
ps -H
还有一个比较实用的功能
–sort
可以用来排序
例如按照cpu资源占用来排序
ps -e --sort=%cpu -o %cpu,comm #从小到大排序
ps -e --sort=-%cpu -o %cpu,comm #从大到小排序
ps ax显示信息如下:
PID 进程id
TTY 进程用到的终端
STAT 进程状态
TIME 进程占用cpu时长
COMMAN 进程名称
ps aux显示信息如下:
#USER 进程所有人
#PID 进程id
#%CPU 进程使用cpu的用量
#%MEM 进程所用到的内存用量
#VSZ 进程使用的虚拟内存大小
#RSS 进程常驻内存中的数据大小
#TTY 进程用到的终端
#STAT 进程状态
#START 进程运行时长
#TIME 进程占用cpu时长
#COMMAND 进程名称
-u uid #显示指定用户进程 -U user #显示指定用户进程 -t tty #显示指定终端进程 -l #显示进程名称 -a #显示进程的完整名称 -P #进程的子进程
首先切换到用户westos,运行cat命令。
westos的uid为1000,可以看到都可以查询到用户westos下的进程
搭配-l和-a可以看到完整的信息
进程和子进程的显示用-p
priod cat
这个命令可以查看用户进程中cat命令的pid
系统时多任务多用户的操作模式
任务的重要性是有区分的
如何确定任务的重要性
“优先级”
范围: 0–139
内核自控优先级范围:0-99
用户可控优先级:100-139
nice值的范围:-20-19
renice -n -(数字) (gid)#已开启的文件调整方式
nice -n (数字) (名称) #开启时直接调整完毕
调整为普通用户时必须在任务管理器中调出all processes就可以进行nice值的修改
普通用户只能把自己的nice值调低,但是root可以随意调
ctrl+z ##把占用shell的进程打入后台挂起 bg ##把后台挂起的进程运行起来 fg ##把后台进程调回前台 & ##运行进程在后台 jobs ##查看当前shell中在后台的所有工作五、进程信息号 六、系统中的登陆审计
# 总结



