魏蓝

以梦为马

导航

进程状态和相关概念

1.进程状态

1)查看所有进程状态

[root@centos8 ~]# ps aux

 

 2)范例:僵尸态

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

 

 解决僵尸态:

#方法一:恢复父进程
[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管道,单项传输

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

[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 2022-03-13 21:48  魏蓝  阅读(37)  评论(0编辑  收藏  举报