魏蓝

以梦为马

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

进程状态和相关概念

1.进程状态

1)查看所有进程状态

[root@centos8 ~]# ps aux

 

 2)范例:僵尸态

1
2
3
4
5
6
7
8
9
10
[root@centos8 ~]# bash
[root@centos8 ~]# echo $BASHPID #查看当前进程编号
4085
[root@centos8 ~]# echo $PPID #查看当前进程父进程编号
3419
#将父进程设为停止态
[root@centos8 ~]# kill -19 3419
#杀死子进程,使其进入僵尸态
[root@centos8 ~]# ps aux
#可以看到上面图示的结果,STAT为z,表示为僵尸态

 

 解决僵尸态:

1
2
3
4
5
#方法一:恢复父进程
[root@centos8 ~]# kill -18 3419
#方法二:杀死父进程
[root@centos8 ~]# kill -9 3419
#再次观察,就可以发现僵尸态的进程不存在了

3)ctrl+z 停止当前进程

 

2.LRU算法

LRU(Least Recent Used)近期最少用算法,释放内存

 

3.进程之间通信

IPC(inter Process Communication)

同主机:

1)pipe管道,单项传输

例:创建一个管道文件实现单工通讯

1
2
3
4
5
6
7
[root@centos8 ~]# mkfifo /data/test.fifo
[root@centos8 ~]# ll /data/test.fifo
prw-r--r-- 1 root root 0 Mar 13 21:35 /data/test.fifo
[root@centos8 ~]# echo hello > /data/test.fifo
#在另一个进程可以从文件中读取数据
[root@centos8 ~]# cat /data/test.fifo
hello

2)套接字文件,双工通信

3)Memory-maped file 映射文件,将文件中的一段数据映射到物理内存,多个进程共享这个文件

4)shm shared memory 共享空间

查看共享空间:

[root@centos8 ~]# free
              total        used        free      shared  buff/cache   available
Mem:         800748      425500      174156        8984      201092      245084
Swap:       2097148      879104     1218044

其中shared就是共享空间。

5)signal 信号

6)Lock 对资源上锁

7)Semaphone 信号量,一种计数器

 

记录于2022-3-13-21:48  

posted on   魏蓝  阅读(40)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示