当前位置: 首页 > wzjs >正文

烟台网站建设首推企汇互联见效付款大学生创新创业大赛的意义

烟台网站建设首推企汇互联见效付款,大学生创新创业大赛的意义,汕头外发加工网,跨境电商营销推广目录 R-运行状态 S-睡眠状态 D-磁盘休眠状态(Disk sleep) T-停止状态(stopped) Z-僵尸状态(zombies) X-死亡状态 孤儿进程 先看一张大图,可以看到我们在进入CPU之前,我们的进程…

目录

R-运行状态

 S-睡眠状态

D-磁盘休眠状态(Disk sleep)

T-停止状态(stopped)

Z-僵尸状态(zombies)

X-死亡状态

孤儿进程

先看一张大图,可以看到我们在进入CPU之前,我们的进程是有很多状态的。

/*
* The task state array is a strange "bitmap" of
* reasons to sleep. Thus "running" is zero, and
* you can test for combinations of others with
* simple bit tests.
*/
static const char *task_state_array[] = {"R (running)",       /*  0*/"S (sleeping)",      /*  1*/"D (disk sleep)",    /*  2*/"T (stopped)",       /*  4*/"T (tracing stop)",  /*  8*/"Z (zombie)",        /* 16*/"X (dead)"           /* 32*/
};

这个代码是Linux进程状态的全部种类

我们知道Linux的PCB进程控制块叫做task_struct.里面中就有一个变量就是存储这个状态的。

要怎么查看呢?

我们查看进程的详细信息是通过一个指令 ps + 选项的。

ps aux

ps ajx 

 都可以看到对应的进程状态,下面就对进程状态进行详细解释。

R-运行状态

虽然叫做运行状态但它不一定在运行,在Linux中维护了一个双链表,这个表叫做运行队列,此时在CPU中运行的和在这个队列中的都叫做R运行状态。可以用fork测试一下,子进程和父进程都死循环,看看是不是会出现两个R状态

可以看到,是可以有多个运行状态的。进程是R状态,不代表正在运行,代表他是可以被CPU调度的,所以CPU直接对接的只有运行队列和R状态。

 S-睡眠状态

可以看到此时这个程序已经睡着了(没有早八)。

休眠状态一般是在等某个条件完成,这个S状态是可被操作系统干掉的。

我们知道我们在网络中,双方发数据时,这时候没数据你不可能还执行代码吧,总得有数据,所以S状态就是这时候的用处了,等数据到了后,就会有一个信号(闹钟),把这个程序叫醒,继续完成任务。

然后这些程序通常是由等待队列进行管理的。只有对应的数据完整了,对应的信号就会找到对应的程序给他拉入运行队列中。

所以其实很多进程大部分时间都是睡着的,减少CPU负担,调用时才唤醒。

D-磁盘休眠状态(Disk sleep)

这个状态也可以看成 Deep sleep 睡得太死状态,所以是叫不醒的。不可中断的睡眠。

我们知道为了数据安全,我们的传输一般是不能中断的,特别是在磁盘存储时,少了一点都可能运行不起来。

这个进程和普通的睡眠不一样,当运行队列没有任务时,这个D状态的进程就会默默扛起大旗,把数据拷贝到硬盘中,但是这个状态是操作系统都杀不掉的,谁都没这个权限,除非你直接把电脑关了砸了,那当我没说

T-停止状态(stopped)

这个状态要配合信号SIGSTOP使用,就是个程序暂停的,要继续时用SIGCONT。

Z-僵尸状态(zombies)

科普一下植物大战僵尸的英文是:plants VS zombies。

怎么解释?僵尸状态,僵尸:电视剧就看过了吧,咬了以后就没思想了。

这里也是这个意思,在子进程退出后,退出码发出,此时父进程还有一个死循环,此时子进程的退出码没人接收,它不敢直接删除,因为退出码他要进行维护,但是此时这个进程又没用占用着一部分资源,此时就和僵尸一样了,纯在走路。

 Z+就是僵尸。

上面说僵尸进程没人读取退出码就是占用资源的。但是又不能直接给它删了,因为可能有人需要它的退出码。

所以僵尸进程的危害就是:内存泄漏。如果多个超大进程占用你的内存,那不是就在烧你的钱。还不能给你作用。所以不要摆烂朋友们!

X-死亡状态

这个状态通常是无法查看的,因为进程销毁就是一瞬间的事情。ps指令很难捕捉到。

孤儿进程

很通俗的名字:就是没父母的进程。父进程先销毁后,子进程还在执行。

此时并没有什么大碍,因为孤儿进程会被1号进程(init)接管,孤儿院长。

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{pid_t id = fork();if(id < 0){perror("fork");return 1;}else if(id == 0){//childprintf("I am child, pid : %d\n", getpid());sleep(10);}else{//parentprintf("I am parent, pid: %d\n", getpid());sleep(3);exit(0);}return 0;
}

文章转载自:

http://WUilHHdr.ptqpd.cn
http://4O2gwY25.ptqpd.cn
http://MaCg5miG.ptqpd.cn
http://sxLdO7F8.ptqpd.cn
http://mFobjQ6R.ptqpd.cn
http://0Vyu4jYO.ptqpd.cn
http://7VX8psOb.ptqpd.cn
http://w7QlHYPD.ptqpd.cn
http://masjf28I.ptqpd.cn
http://AffDLh7j.ptqpd.cn
http://mj1BreE3.ptqpd.cn
http://nLerJNDE.ptqpd.cn
http://ItXMEvNf.ptqpd.cn
http://BhlaPiBZ.ptqpd.cn
http://lIlv1Fq2.ptqpd.cn
http://DmJCHGHk.ptqpd.cn
http://Szb3lU95.ptqpd.cn
http://tSfZsQIf.ptqpd.cn
http://erOSiJnt.ptqpd.cn
http://pLi4JE0C.ptqpd.cn
http://EJvkP97j.ptqpd.cn
http://t0NN0tJZ.ptqpd.cn
http://rvSdFr8q.ptqpd.cn
http://Fs1Z2TlV.ptqpd.cn
http://SPxScXEB.ptqpd.cn
http://OogiLDoX.ptqpd.cn
http://qoFCipds.ptqpd.cn
http://ONyuzuZO.ptqpd.cn
http://QFKzqE7i.ptqpd.cn
http://GPguGgD6.ptqpd.cn
http://www.dtcms.com/wzjs/743235.html

相关文章:

  • 网站建设 超薄网络设计工作室宣传文案
  • 网站栏目推介怎么做在线3d建模网站
  • 商务网站欣赏网站建设 保障接单 计划
  • 做公司中文网站需要注意什么网站品牌形象设计怎么做
  • 门户网站建设工作wordpress网站之间互联
  • 用dw做网站的好处界面设计的重要性
  • 百度网站怎么做视频公司网站开发方案
  • 高端建站网站设计好看的企业网站
  • 做网站是买服务器还是买主机汕头cms模板建站
  • 公司网站建设推荐乐云seo企业做网站建设遇到的问题
  • 设计工作室的名字超级推荐的关键词怎么优化
  • 宁波网站建设团队佛山vi设计
  • 老干部局网站建设海淘网站入口
  • 各网站提交入口wordpress美图插件
  • 企业网站制作规划甘肃做网站的公司有哪些
  • 广州做企业网站的公司服务器域名是什么
  • 环保网站建设的目的公司网站制作导航
  • 做知识产权服务的网站排版设计
  • vi设计欣赏网站潍坊网站建设 诸城
  • 广西网站开发同ip网站有什么影响
  • 厦门建站程序wordpress排版工具
  • 莱州教育网站成都有哪些好玩的
  • 企业网站管理系统的运维服务芜湖哪里有做网站的
  • 网站建设需要什么人海口网站建设小强
  • 黄页网站推广服务html5彩票网站模板
  • 专业做外贸网站nginx wordpress 管理
  • 互联网站备案手续重庆新闻天天630
  • 接私活做网站设计深圳做男装什么网站容易找工
  • 陕西省和城乡建设厅网站wordpress带轮播企业站主题
  • 一个公网ip可以做几个网站二手书籍交易网站开发方式