进程相关概念

程序

是存储在某种介质上的二进制代码,进程对应了程序的执行过程。

进程

是程序在某个数据集合上的依次运行,是系统资源分配和调度的独立单位。

进程的管理

描述+组织
操作系统通过 struct task_struct 对每个进程进行描述,然后利用双向链表将这些结构体组织起来。而每个struct task_struct就是一个进程控制块PCB(process control block).

struct task_struct

1. 进程号

PID:进程标识符,在操作系统中唯一标识一个进程。

//查看mymain的进程号
ps aux|grep ./mymian
2. 进程状态
  1. 从系统调度角度看,多个进程抢占式执行,os给每个进程赋予不同的状态后实现对不同进程的合理调度。
    在这里插入图片描述

  2. 通过ps aux 命令可以看到Linux系统中有这些状态:
    R:运行
    S:睡眠
    D:深度睡眠/不可中断睡眠
    T:暂停
    t:追踪(gdb调试)
    X:死亡
    Z:僵尸

<: 高优先级
N:低优先级
L:内存锁页
W:无驻留页
l:多线程进程
s:控制进程
+:前台进程

僵尸进程

子进程先于父进程退出,退出时给父进程发送SIGCHLD信号,父进程收到后忽略处理,导致子进程的退出信息没有进程回收,因此变成了僵尸进程。
危害:系统资源泄漏,没有释放task_struct。
解决办法:
进程强杀已经不起作用了。

  1. 终止父进程
  2. 关机
  3. 进程等待。
孤儿进程

父进程先于子进程退出,子进程状态为S,由一号进程(init进程)回收,无害。

// 查看父子进程PID
[jiahao@VM-0-17-centos relook]$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 May13 ?        00:21:16 /usr/lib/systemd/systemd --switched-root --s
root         2     0  0 May13 ?        00:00:05 [kthreadd]

3. 内存指针

指向程序地址空间,和进程相关数据的指针,共享内存的指针。

4. 上下文信息

保存进程上次运算时寄存器的值

5. 程序计数器

保存下一条指令的地址

6. IO信息

保存打开文件的信息,IO请求,分配给进程的IO设备,被使用的文件列表

7. 记账信息

cpu和内存占用情况,时间限制

8. 进程优先级

通过ps命令可以查看进程的信息
[jiahao@VM-0-17-centos relook]$ ps -al

F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1002  4356  1945  0  86   0 -  3307 hrtime pts/1    00:00:00 m
0 R  1002  4542 29064  0  80   0 - 38332 -      pts/0    00:00:00 ps

PRI:优先级(越小优先级越高)
NI:优先级影响值(nice)
PRI+NI =新优先级

  • 普通优先级:100~139
  • 实时优先级:0~99
    nice:修改普通优先级,范围是(-20到19)
修改优先级

进入top后执行
r -》pid -》 nice值

[jiahao@VM-0-17-centos relook]$ ./m
[jiahao@VM-0-17-centos relook]$ ps -al
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1002  4356  1945  0  86   0 -  3307 hrtime pts/1    00:00:00 m
0 R  1002  4542 29064  0  80   0 - 38332 -      pts/0    00:00:00 ps
[jiahao@VM-0-17-centos relook]$ top
3. 输入r 回车
4. 输入PID回车
5. 输入新的nice值回车
[jiahao@VM-0-17-centos relook]$ ps -al
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1002  4356  1945  0  80   6 -  3307 hrtime pts/1    00:00:00 m
0 R  1002  4384 29064  0  80   0 - 38332 -      pts/0    00:00:00 ps
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值