1 Linux中进程的七种状态
(1)R运行状态(runing):并不意味着进程一定在运行中,也可以在运行队列里;
(2)S睡眠状态(sleeping):进程在等待事件完成;(浅度睡眠,可以被唤醒)
(3)D磁盘睡眠状态(Disk sleep):不可中断睡眠(深度睡眠,不可以被唤醒,通常在磁盘写入时发生)
(4)T停止状态(stopped):可以通过发送SIGSTOP信号给进程来停止进程,可以发送SIGCONT信号让进程继续运行
(5)X死亡状态(dead):该状态是返回状态,在任务列表中看不到;
(6)Z僵尸状态(zombie):子进程退出,父进程还在运行,但是父进程没有读到子进程的退出状态,子进程进入僵尸状态;
(7)t追踪停止状态(trancing stop)
2 R运行状态
  当我们让一个程序在运行中(比如:建立一个死循环,输出一条语句),那么该进程一定是R状态
3 S睡眠状态
  显然,当我们让一个程序执行sleep代码,该进程此时一定是S状态
4  僵尸状态
僵尸状态是指:当子进程退出,并且父进程没有读到子进程的退出码,子进程的状态会变为僵尸状态(Z)。通常来说就是,子进程退出,父进程还在运行,但父进程没有读取子进程的状态,子进程会变为僵尸态。
我们先简单建立一个僵尸进程:让子进程sleep后直接exit,父进程一直在循环中。
1 #include <stdio.h>
2 #include <unistd.h>
3 #include <stdlib.h>
4 #include <sys/types.h>
5
6 int main()
7 {
8     pid_t id = fork();
9     if(id == 0)//child
10     {
11         printf("child do something... ,pid:%d,ppid:%d\n",getpid(),getppid());
12         sleep(10);
13         exit(1);//退出该进程
14     }
15
16     else if(id > 0)//father
17     {
18         while(1)
19         {
20             printf("father do something... ,pid:%d,ppid:%d\n",getpid(),getppid());
21             sleep(1);
22         }
23     }
24
25     else
26     {
27         perror("fork");
28     }
29      return 0;
30 }
在运行中,查看进程状态:
僵尸进程的危害:  
1 上面说到僵尸进程是由于父进程没有读取到子进程的退出信息而产生的,那么我们是不是就可以理解为父进程一直以为处于僵尸状态的子进程是没有退出的。而进程是需要维护的,僵尸进程就会一直需要PCB对其进行维护
浪费内存资源。如果僵尸进程一直没有退出,就会一直占用这块内存,就会导致内存资源的浪费;
内存泄漏。僵尸进程一直占用资源,但是却不使用,就可能会导致内存泄漏。
5 孤儿进程
孤儿进程是指:父进程先退出,子进程变为“孤儿进程”
父进程先退出,子进程后退出,由于父进程已经退出读取不到子进程的退出信息,子进程变为Z(僵尸)状态,随后子进程被1号进程Init“领养”,即子进程的父进程变为1号进程。
我们先简单建立一个孤儿进程:让子进程一直循环,父进程在sleep3秒后退出。
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <unistd.h>
4 #include <sys/types.h>
5
6 int main()
7 {
8
9     pid_t id = fork();
10     if(id == 0)//child
11     {
12         while(1)
13         {
14             printf("child do something... ,pid:%d,ppid:%d\n",getpid(),getppid());
15             sleep(1);
16         }
17     }
18
19     else if(id > 0)//father
20     {
21         printf("father do something... ,pid:%d,ppid:%d\n",getpid(),getppid());
22         sleep(3);
23         exit(1);
24     }
25
26     else
27     {
28         perror("fork");
29     }
30      return 0;

在运行中,查看进程的状态:

Linux操作系统中进程的七种状态相关推荐

  1. linux六种进程状态,Linux操作系统中进程的七种状态

    Linux操作系统中进程的七种状态 发布时间:2018-05-07 20:43, 浏览次数:741 , 标签: Linux 1 Linux中进程的七种状态(1)R运行状态(runing):并不意味着进 ...

  2. linux进程僵停状态,Linux操作系统中进程的七种状态

    1 Linux中进程的七种状态(1)R运行状态(runing):并不意味着进程一定在运行中,也可以在运行队列里:(2)S睡眠状态(sleeping):进程在等待事件完成:(浅度睡眠,可以被唤醒)(3) ...

  3. 操作系统中进程的五种状态与JAVA中线程的六种状态

    操作系统中的五种状态 新建:创建新的进程 就绪:进程已经获得除CPU时间片以外的任何资源,一旦获得cpu时间片就能立马执行. 执行:处于就绪队列中的进程获得了时间片运行进程. 阻塞:进程时间片用完进入 ...

  4. linux进程的七种状态

    在学操作系统原理的时候,书上都说进程分为5种状态,分别为:新建状态.就绪状态.运行状态.阻塞状态,结束状态 他们的转换关系如下图 但是查了linux的进程状态之后,发现并不是那么回事,linux进程状 ...

  5. 操作系统:进程的三种状态

    进程的三种状态 1.   就绪状态:进程获得了除了CPU之外的所有的必要资源,只要获得CPU就可以立即执行,此时的进程处于就绪态. 2.   运行状态:进程已经获得CPU,正在运行,在多处理其系统中, ...

  6. 操作系统中进程的五种基本状态及其转换

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/cafucwxy/article/det ...

  7. Linux 操作系统原理 — 进程与线程管理

    目录 文章目录 目录 前言 进程与线程 内核线程,用户线程与轻量级进程 内核线程 轻量级进程 用户线程 轻量级进程与用户线程的区别 用户线程与轻量级进程的混合模式 用户线程和内核线程的区别 线程的实现 ...

  8. Linux操作系统下进程讲解(史上最强总结)

    Linux操作系统下进程讲解 一.进程的基本概念: 1. 什么是进程 在传统的操作系统中,程序不可以独立的运行,作为资源分配和独立运行的基本单位都是进程.进程的定义是一个可执行中程序的实例,系统中每一 ...

  9. 深入理解Linux操作系统守护进程的意义

    深入理解Linux操作系统守护进程的意义 Linux服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由运行在后台的守 ...

最新文章

  1. 先进一站式IP及定制
  2. 干货|对比理解不同概率估计和模型损失函数
  3. 160个Crackme024之Opcode加密
  4. ITK:创建一个后向差分运算符
  5. php求平均值的函数_国二常用函数(二)
  6. oracle 添加服务命名空间,c# – 找不到类型或命名空间名称“OracleConnection”
  7. 认识计算机网络教案小学,初识计算机网络教案
  8. [LeetCode]657.Judge Route Circle
  9. 如何解决gcc版本冲突?
  10. win11环境变量如何打开 Windows11查看环境变量的步骤方法
  11. 选择器高级、样式及布局
  12. 邮票面值设计java_邮票面值设计
  13. 写教案时,PDF怎么转换成PPT?用迅读PDF大师,超简单
  14. 数据压缩1 | 浊音清音爆破音时域及频域特性
  15. 关于intelCPU缓存行,以及伪共享问题
  16. Android屏幕计算公式
  17. C++ 重载、重写及其区别
  18. 一个破解压缩包密码的软件——ziperello
  19. TestNG跳过某个测试方法
  20. brew_install.rb 安装brew的文件

热门文章

  1. 【Leetcode】516. 最长回文子序列
  2. 音乐欣赏课程笔记(二)
  3. 本周AI热点回顾:王者荣耀AI绝悟完全体开启,英雄随便选;2张图片就能「算出」一段视频;Nature文章明年起可免费下载
  4. 用计算机从85加到98的和是,职称计算机考试题库及答案(2)
  5. 敖丙思维导图-Dubbo
  6. InputStreamReader介绍使用
  7. 隐藏计算机公共云盘图标,关闭百度网盘在文件资源管理器上的图标
  8. 荣耀X10 Max体验,大屏爱好者福音来了
  9. 英语语法快速入门2--并列句(附思维导图)
  10. shields 徽标_80个灵感创意徽标设计