摘要:
一、简单单链表先上代码Chain.h#includetemplateclass Chain;templateclass ChainNode{/*要将私有成员数据或函数暴露给另一个类,必须将后者声明为友元类。*/ friend class Chain;private: T data; ChainNode* link; };templateclass Chain{private: ChainNode* first;/*链表长度,即链表元素的个数*/ int n;public: Chain(){first=NULL;n=0;} ~Chain(); ... 阅读全文
摘要:
转载http://www.cnblogs.com/lihaosky/articles/1673341.html一、Wait#include /* 提供类型pid_t的定义 */ #include pid_t wait(int *status) 简介 进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进 程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。 参数status用来保存被收集进程退出时的一些状态,它是一个指向i... 阅读全文
摘要:
转载http://www.cnblogs.com/scrat/archive/2012/06/25/2560904.html什么是僵尸进程 僵尸进程是指它的父进程已经退出(父进程没有等待(调用wait/waitpid)它),而该进程dead之后没有进程接受,就成为僵尸进程,也就是(zombie)进程。 僵尸进程是怎么样产生 一个进程在调用exit命令结束自己的生命的时候,其实它并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用exit,它的作用是使进程退出,但也仅仅限于将一个正常的进程变成一个僵尸进程,并不能将其完全销毁)。 在Linux进程的状态中,僵尸... 阅读全文
摘要:
转载http://www.cnblogs.com/leoo2sk/archive/2009/12/11/talk-about-fork-in-linux.html给出如下C程序,在linux下使用gcc编译:1234567891011121314#include "stdio.h"#include "sys/types.h"#include "unistd.h"intmain(){pid_t pid1;pid_t pid2;pid1 = fork();pid2 = fork();printf("pid1:%d, pid2:% 阅读全文