当我们对于内存进行手动管理的时候,会出现两种错误:一种是野指针错误,一种则为内存泄露.这两点也是我们去管理内存时最终要解决的问题.
内存泄漏是指:不在使用的对象,一直保留在内存中未被销毁,一直占有着内存,耗费内存资源直至程序结束.
野指针则是指:当一个指针指向一个对象时,此对象已经被系统回收...
分类:
其他好文 时间:
2014-05-17 21:10:52
阅读次数:
1122
由fork()来介绍Linux子进程,进而介绍相关的wait、僵尸进程、孤儿进程等概念。...
分类:
系统相关 时间:
2014-05-15 04:12:48
阅读次数:
405
关于如何避免僵尸进程。其实方法很多。有很多现成的解决方案。这里给出一个简单的方案。以及背后思考的过程。设想一种最简单的http服务器:伪代码:当接收到一个tcp请求的时候.fork
一个子进程去做工作。主进程依旧在监听下面要来的请求。这个模型实际上会导致。因为fork出来的子进程没有回收,并且父进程...
分类:
其他好文 时间:
2014-05-13 17:17:18
阅读次数:
339
fork两次然后在孙子进程中调用某函数避免孙子进程被kill掉产生僵尸进程 /*
这样做儿子进程很快就会退出,所以孙子进程不太可能产生僵尸进程,即使产生时间也极其短暂 */#include #include #include void
fork_grandson_run(void func(void...
分类:
其他好文 时间:
2014-05-05 22:13:00
阅读次数:
445
前段时间,一哥们,去杀Linux服务器的进程,发现kill命令失灵了,怎么杀都杀不死。
然后上网查了下资料,原来是要被杀的进程,成为了僵尸进程。 僵尸进程的查看方法: 利用命令ps,可以看到有标记为Z的进程就是僵尸进程。
知道了原因,就想怎么去把这个僵尸进程干掉。网上说了两种方法,一种最简单...
分类:
系统相关 时间:
2014-05-05 09:51:24
阅读次数:
515
进程状态TASK_RUNNING可运行或正在运行TASK_INTERRUPTIBLE进程被阻塞,但可以被信号唤醒TASK_UNINTERRUPTIBLE进程被阻塞,且不可以被信号唤醒TASK_STOPPED进程已停止,且不能再投入运行TASK_ZOMBIE所谓的僵死进程,进程描述符仍然保留关键函数和...
分类:
系统相关 时间:
2014-05-05 09:45:05
阅读次数:
473
转载自:http://blog.sina.com.cn/s/blog_7776b9d3010144f9.html在UNIX
系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程.
但是如果该进程的父进程已经先结束了,那么该进程就不会变成僵尸...
分类:
系统相关 时间:
2014-05-01 09:02:18
阅读次数:
441