进程状态和相关概念
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