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

用电脑做服务器搭建php网站东莞容桂网站制作

用电脑做服务器搭建php网站,东莞容桂网站制作,仅仅建设银行网站打不开,dedecms 转 wordpress目录 一.前言 1.1.通过系统调用获取进程标示符 1.2.通过系统调用创建进程 二.进程状态 三.Z(zombie)-僵尸进程 四.僵尸进程危害 一.前言 学习进程的状态#xff0c;我们首先了解一下进程的基本数据 1.1.通过系统调用获取进程标示符 由getpid#xff08;#xff09…目录 一.前言 1.1.通过系统调用获取进程标示符 1.2.通过系统调用创建进程   二.进程状态 三.Z(zombie)-僵尸进程 四.僵尸进程危害 一.前言 学习进程的状态我们首先了解一下进程的基本数据 1.1.通过系统调用获取进程标示符 由getpid函数调用获取进程id 由getppid函数调用获取父进程id #include stdio.h #include sys/types.h #include unistd.h int main() { printf(pid: %d\n, getpid()); printf(ppid: %d\n, getppid()); return 0; } 1.2.通过系统调用创建进程   我们通过 fork()函数来创建进程 fork有俩个返回值父进程返回创建子进程的进程ID在子进程中fork返回0如果出现错误返回负值 父子进程代码共享数据各自开辟空间私有一份采用写时拷贝 fork 之后通常要用 if 进行分流 #include stdio.h #include sys/types.h #include unistd.h int main() { int ret fork(); if(ret 0){ perror(fork); return 1; } else if(ret 0){ //child printf(I am child : %d!, ret: %d\n, getpid(), ret); }else{ //father printf(I am father : %d!, ret: %d\n, getpid(), ret); } sleep(1); return 0; } 二.进程状态 为了弄明白正在运行的进程是什么意思我们需要知道进程的不同状态。一个进程可以有几个状态在Linux内核里进程有时候也叫做任务。 下面的状态在kernel源代码里定义 /* * 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 * const task_state_array[] { R (running), /* 0 */ S (sleeping), /* 1 */ D (disk sleep), /* 2 */ T (stopped), /* 4 */ t (tracing stop), /* 8 */ X (dead), /* 16 */ Z (zombie), /* 32 */ };R运行状态running : 并不意味着进程一定在运行中它表明进程要么是在运行中要么在运行队列里。 S睡眠状态sleeping): 意味着进程在等待事件完成这里的睡眠有时候也叫做可中断睡眠 D磁盘休眠状态Disk sleep有时候也叫不可中断睡眠状态uninterruptible sleep在这个状态的进程通常会等待IO的结束。 T停止状态stopped 可以通过发送 SIGSTOP 信号给进程来停止T进程。这个被暂停的进程可以通过发送 SIGCONT 信号让进程继续运行。 X死亡状态dead这个状态只是一个返回状态你不会在任务列表里看到这个状态 通过下面代码查看a.out 里面的进程状态 while :; do ps aux | grep a.out | grep -v grep ; sleep 2; echo  ***** ; done   三.Z(zombie)-僵尸进程 僵死状态Zombies是一个比较特殊的状态。当进程退出并且父进程没有读取到子进程退出的返回代码时就会产生僵死(尸)进程 僵死进程会以终止状态保持在进程表中并且会一直在等待父进程读取退出状态代码。 所以只要子进程退出父进程还在运行但父进程没有读取子进程状态子进程进入Z状态 创建一个维持30秒的僵尸进程例子 #include stdio.h #include stdlib.h #include sys/types.h #include unistd.h int main() { pid_t id fork(); if(id 0){ perror(fork); return 1; } else if(id 0){ //parent printf(parent[%d] is sleeping...\n, getpid()); sleep(30); }else{printf(child[%d] is begin Z...\n, getpid()); sleep(5); exit(EXIT_SUCCESS); } return 0 ; }四.僵尸进程危害 进程的退出状态必须被维持下去因为他要告诉关心它的进程父进程你交给我的任务我办的怎么样了。可父进程如果一直不读取那子进程就一直处于Z状态是的 维护退出状态本身就是要用数据维护也属于进程基本信息所以保存在task_struct(PCB)中换句话说 Z状态一直不退出 PCB一直都要维护是的 那一个父进程创建了很多子进程就是不回收是不是就会造成内存资源的浪费是的因为数据结构对象本身就要占用内存想想C中定义一个结构体变量对象是要在内存的某个位置进行开辟空间 内存泄漏?是的
http://www.hkea.cn/news/14280506/

相关文章:

  • 宁夏交通建设股份有限公司网站怎样做推广营销
  • 苏州市建设局投诉网站深圳网站设计 建设首选深圳市
  • 沈阳网络平台推广公司廊坊视频优化价格
  • 开发个网站多少钱装修平台入驻
  • 网站建设 技术方案湖南网站开发 d岚鸿
  • 牡丹江3d网站开发自己怎么做外贸网站空间
  • 网站开发工资淄博网站备案主体授权书
  • 坐什么网站能用到html5wordpress 文件夹改名
  • 长寿做网站的电话站长之家alexa排名
  • 做内贸哪个网站好wordpress数字商城
  • 用dw做的网站容易变形单片机和做网站
  • 南京公司网站建立万峰科技著.asp.net网站开发四酷全书电子工业出版社
  • 网络型网站分为网站发布方式 提高
  • 网站的推广费用东莞建设网住房保障专栏20批公示栏
  • 甘肃住房城乡建设厅网站集团网站建设特点互联网课堂
  • 怎样做有趣的视频网站免费网址大全
  • 昆明微网站制作wordpress显示全部标签
  • 国外网站设计欣赏分析六安市网站制作
  • 网站开发写好了怎么发布有机大米网站建设方案
  • 公司网站自己创建辽源市住房和城乡建设局网站
  • 移动网站开发与维护有专门做网站的吗
  • 制作营销网站模板汕头新闻
  • 前端搜索网站引擎怎么做7zwd一起做网店官网
  • 深圳企业网站建设公司排名友山建站优化
  • 数据统计网站设计网页要多少钱
  • 学校网站建设项目可行性分析报告企业新闻稿发布平台
  • 贵州省城乡与住房建设部网站商家做小程序怎么做
  • dw个人网站设计模板免费北京宣传片制作公司
  • 淄博网站关键词优化wordpress调用新版媒体库
  • 容桂网站设计制作重庆网站排名提升