Ⅰ第六章学习博客

Linux修炼之旅第六章!

本章顺着上一次的博客接着来学习Linux的新知识,介绍了Linux系统中的进程管理。
下面就开始吧


文章目录

  • Linux修炼之旅第六章!
  • 一、进程是什么?
    • 1.进程的定义:
    • 2.进程和线程:
    • 3.进程状态:
  • 二、进程查看命令
    • 1.ps命令
    • 2.pgrep 进程过滤
    • 3.top 动态进程查看
  • 三、进程优先级
    • 调整优先级
  • 四、进程前后台调用


一、进程是什么?

1.进程的定义:

提到进程,比较容易联想到的就是程序
程序和进程其实是有很大联系的,通过程序可以更好地理解什么是进程
程序是静态的代码文件
进程是指程序运行时的形态
进程是程序的一个副本
进程是有生命周期的(准备期,运行期,终止期),但是程序没有。

2.进程和线程:

进程是资源调用的最小单位
线程是进程的最小单位
当进程是多任务物,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程
线程资源是共享的.

3.进程状态:

R(TAKS_RUNNING)============可执行态
S(TASK_INTRRUPTABLE)=======可唤醒休眠
D(TASK_UNINTRRUPTABLE)====不可唤醒休眠
T(TASK_STOP)================暂停状态
Z(EXIT_ZOMBIE)==============僵死态

二、进程查看命令

首先是图形进程查看工具

gnome-system-monitor

Ⅰ第六章学习博客_第1张图片

1.ps命令

先上各个功能命令类型,在分别看效果

a 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的)
x 与终端无关相关的进程
u 用户信息归类的查看方式
f 进程层级关系
o 显示指定参数# pid comm nice pri pcpu ppid stat,user,group
-e 显示所有进程
-f 显示信息的完整格式
-H 显示进程的层级结构
-o 显示指定参数

ps a
Ⅰ第六章学习博客_第2张图片ps x 与ps a命令有区别的地方在于显示不带字符终端的,不带字符终端的进程,就是图中带?对应行
Ⅰ第六章学习博客_第3张图片ps f 进程层级关系
Ⅰ第六章学习博客_第4张图片
ps o 注意要在后缀上查看的内容
Ⅰ第六章学习博客_第5张图片
ps e 显示所有进程

Ⅰ第六章学习博客_第6张图片
ps -f 显示信息的完整格式

Ⅰ第六章学习博客_第7张图片
ps -H
Ⅰ第六章学习博客_第8张图片还有一个比较实用的功能
–sort
可以用来排序
例如按照cpu资源占用来排序

ps -e --sort=%cpu -o %cpu,comm #从小到大排序

Ⅰ第六章学习博客_第9张图片

ps -e --sort=-%cpu -o %cpu,comm #从大到小排序

Ⅰ第六章学习博客_第10张图片
ps ax显示信息如下:
PID 进程id
TTY 进程用到的终端
STAT 进程状态
TIME 进程占用cpu时长
COMMAN 进程名称
Ⅰ第六章学习博客_第11张图片
ps aux显示信息如下:
#USER 进程所有人
#PID 进程id
#%CPU 进程使用cpu的用量
#%MEM 进程所用到的内存用量
#VSZ 进程使用的虚拟内存大小
#RSS 进程常驻内存中的数据大小
#TTY 进程用到的终端
#STAT 进程状态
#START 进程运行时长
#TIME 进程占用cpu时长
#COMMAND 进程名称

2.pgrep 进程过滤

-u uid #显示指定用户进程
-U user #显示指定用户进程
-t tty #显示指定终端进程
-l #显示进程名称
-a #显示进程的完整名称
-P #进程的子进程

首先切换到用户westos,运行cat命令。
westos的uid为1000,可以看到都可以查询到用户westos下的进程
Ⅰ第六章学习博客_第12张图片搭配-l和-a可以看到完整的信息
Ⅰ第六章学习博客_第13张图片
进程和子进程的显示用-p
priod cat
这个命令可以查看用户进程中cat命令的pid

Ⅰ第六章学习博客_第14张图片

3.top 动态进程查看

Ⅰ第六章学习博客_第15张图片

三、进程优先级

系统时多任务多用户的操作模式
任务的重要性是有区分的
如何确定任务的重要性
“优先级”
范围: 0–139
内核自控优先级范围:0-99
用户可控优先级:100-139
nice值的范围:-20-19

调整优先级

renice -n -(数字) (gid)#已开启的文件调整方式
nice -n (数字) (名称) #开启时直接调整完毕
调整为普通用户时必须在任务管理器中调出all processes就可以进行nice值的修改
普通用户只能把自己的nice值调低,但是root可以随意调

Ⅰ第六章学习博客_第16张图片

四、进程前后台调用

ctrl+z ##把占用shell的进程打入后台挂起
bg ##把后台挂起的进程运行起来
fg ##把后台进程调回前台
& ##运行进程在后台
jobs ##查看当前shell中在后台的所有工作

你可能感兴趣的:(Linux通关升级第一本书!,linux,bash,运维)