Linux下的进程管理(上篇)

进程

进程定义

程序是静态的代码文件;

进程是指程序运行时的形态;

进程是程序的一个副本;

进程是有生命周期的(准备期、运行期、终止期)

进程与线程

进程是资源调用的最小单位;

线程是进程的最小

 

程序执行流是从上到下贯穿运行

 

当进程的是多任务,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程。

线程的资源是共享的,并发的。

进程状态

R (TASK_RUNNING )                      ## 可执行态(running ,  ready)

S (TASK_INTRRUPTABLE)            ## 可唤醒休眠

D (TASK_UNINTRRRUPTABLE)      ## 不可唤醒休眠

T (TASK_STOP)                                  ## 暂停状态

Z (EXIT_ZOMBIE)                               ## 僵死态

 

进程查看命令

gnome-system-monitor    ###  图形进程查看工具

ps     ###     进程查看

ps命令的三种执行风格:unix  bsd  GUN

### 在bsd风格中
ps  a	### 与终端相关的进程(当用户登录系统后产生的进程都是带终端的)
    x	### 与终端无关的进程
    u	### 用户信息归类的查看方式
    f	### 进程的层级关系
    o	### 显示指定参数 

### 在unix风格中
ps  -e	    ### 显示所有进程
    -f	    ### 显示信息的完整格式
    -H	    ### 显示进程的层级结构
    -o 	    ### 显示指定参数
    --sort  ### 排序

练习:抓取系统中cpu使用量排在前5的进程的pid

pgrep 进程过滤

pgrep		##	进程过滤
    -u          ##  uid显示指定用户进程
    -U          ##  user 显示指定用户进程
    -t          ##  tty指定终端显示
    -l          ##  显示进程名称    
    -a          ##  显示进程完整名称
    -P          ##  显示进程的子进程
pidof vim       ##  查看vim的pid

 TOP 动态进程查看

#### TOP 内容的显示信息  ####
top - 09:48:51   up  18:54    2 users	            load average:0.75,  0.53,  0.41	
系统时间            运行时长    系统中有两个用户登录      系统负载	

Task:331 total	  3 running      329 sleeping	 0 stopped    0   zombie 				
      任务总量	 正在运行任务量	 休眠任务数量	 被暂停数量    僵死任务数量

%cpu(s):
1.5 us 	   2.8	sy   0.0  ni  58.9 id   0.0  wa    2.1 hi    0.2  si    0.0  st 
用户空间   内核空间   nice值调  空闲时间  等待IO时间  处理硬件   处理软件   被偷走的时间
		     整时间                        中断时间   中断时间  (vm使用的时间)
				
MIB Mem:
7664.6  total	f5383.9  free 	1312.2  used    968.8   buff/cache
内存总量		  空闲内存          占用内存            缓存
				
MIB Swap:  			
7664.6  total	f5383.9  free 	1312.2  used    6831.1 avail Mem		
内存总量		  空闲内存          占用内存        可用大小
top	## top命令的参数
    -d    ## 指定刷新频率
    -b	  ## 以批次方式显示
    -n    ## 指定显示批次数量(结合-b使用)

top	## top内部指令
    P  	    ##  CPU排序
    M       ##  内存排序
    T  	    ##  累计占用CPU的时间排序
    l       ##  关闭|开启uptime信息
    s  	    ##  指定刷新频率
    t  	    ##  关闭|开启CPU task信息
    k       ##  操作进程
    u  	    ##  查看指定用户进程

  1、按u;     2、输入想要查看的用户名,回车;     结果如右图所示。

1、按k;     2、输入要操作的pid,回车;     3、输入要操作的进程信号,回车即可。   

 

进程优先级

系统是多任务多用户的操作模式

任务的重要性是有区分的。

 

如何确定任务的重要性:

优先级,  范围:0 - 139, 优先级越小,优先级越高

内核自控优先级范围:0-99

用户可控优先级范围:100-139

 

nice值:-20 - 19对应(100 - 139)

renice -n  -5  43331  	    ## 更改优先级
                            ### 43331 (pid)
nice -n  -5  vim  & 	    ### 指定优先级打开进程
                            ### -5   (优先级)
                            ### vim  (进程名)

备注: 只有root用户可以调高优先级,普通用户只能调低优先级,且调低后无法改变。 

进程前后台调用

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

进程信息号

进程信号

1              重读系统配置文件()
2              清空内存中的进程数据
3              清空内存中的鼠标(ctrl + / 执行)
9              强行结束进程(不能被阻塞)
15             正常关闭进程(会被阻塞)
18             运行被暂停的进程
19             暂停进程(不会被阻塞)
20             暂停进程(会被阻塞)

进程信号控制工具

kill  	  -进程信号    pid         			
killall   -进程信号  进程名字		### 可批量处理进程	
pkill     -进程信号  进程条件killed				

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值