僵尸进程:一个子进程在其父进程没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。如果其父进程还存在而一直不调用wait,则该僵尸进程将无法回收,等到其父进程退出后该进程将被init回收。 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进...
分类:
系统相关 时间:
2015-08-27 08:15:42
阅读次数:
289
eg1:
// waitpid1.c
// 2015-08-26 Lucifer Zhang
// Using the waitpid function to reap zombie children in no
// particular order.
#include "csapp.h"
#define N 2
int main()
{
int status, i;
...
分类:
系统相关 时间:
2015-08-26 15:49:33
阅读次数:
255
之前写了进程的创建,由于是半年前做的题目了,现在回忆有点生疏,有些概念都忘了,比如僵尸进程、孤儿进程、子进程和父进程的关系。。。在博客园看到有一篇讲的很好的关于僵尸进程和孤儿进程的文章,没看到有转载的选项,直接复制过来了,方便以后忘了再查看转自http://www.cnblogs.com/Anker...
分类:
系统相关 时间:
2015-08-26 01:24:43
阅读次数:
294
进程是一个运行着一个或多个线程的地址空间和这些线程所需要的系统资源;通过ps -ajx命令来打印当前所有进程;其中具体状态表示为:S表示睡眠,R表示可运行,D表示等待,T表示停止,Z表示僵尸进程;PID表示进程号,PPID表示父进程号; 一: PID ,PPID可以通过函数getpid(),g...
分类:
系统相关 时间:
2015-08-20 20:28:49
阅读次数:
168
最近线上一组服务器玩家反馈响应缓慢,记录下排查过程。
1、使用top命令查看服务器负载情况,
top - 15:59:37 up 26 days, 3:42, 6 users, load average: 2.98, 2.74, 2.70
Tasks: 180 total, 1 running, 167 sleeping, 12 stopped, 0 zombie
...
分类:
其他好文 时间:
2015-08-18 19:37:01
阅读次数:
191
并发服务器首先,我们来假设有下面这样两种类型的服务器:第一种,第一个连接请求的受理时间为1s,第50个连接请求的受理时间为50s,第100个连接请求的受理时间为100s。即同时很多客服端连接,需要依次排队受理,但只要受理了,他们的服务时间平均只需1s。第二种,所有连接请求的受理时间不超过1s,但平均服务时间要2~3s。
即使有可能延长服务时间,我们实际网络编程中也一般选择第二种方式,使其可以同时向...
分类:
系统相关 时间:
2015-08-18 19:19:37
阅读次数:
173
僵尸进程过程1)通过忽略SIGCHLD信号,避免僵尸进程 在server端代码中加入 signal(SIGCHLD,SIG_IGN);2)通过wait/waitpid方法。解决僵尸进程signal(SIGCHLD,onSignalCatch);void onSignalCatch(int sign....
分类:
其他好文 时间:
2015-08-16 09:23:49
阅读次数:
149
父进程运行结束,但子进程还在运行(未运行结束)的子进程就称为孤儿进程(Orphan
Process)。孤儿进程最终会被 init 进程(进程号为 1 )所收养,并由 init 进程对它们完成状态收集工作。
孤儿进程是没有父进程的进程,为避免孤儿进程退出时无法释放所占用的资源而变为僵尸进程(什么是僵尸进程,请看《特殊进程之僵尸进程》),进程号为 1
的 init 进程将会接...
分类:
系统相关 时间:
2015-08-14 13:56:42
阅读次数:
206
本文简单介绍下僵尸进程。 介绍之前,首先了解一下linux中进程的6大状态。D Uninterruptible sleep (usually IO)R Running or runnable (on run queue)S Interruptible ...
分类:
系统相关 时间:
2015-08-13 20:06:41
阅读次数:
241
僵尸进程(Zombie Process)
进程已运行结束,但进程的占用的资源未被回收,这样的进程称为僵尸进程。
在每个进程退出的时候,内核释放该进程所有的资源、包括打开的文件、占用的内存等。
但是仍然为其保留一定的信息,这些信息主要主要指进程控制块的信息(包括进程号、退出状态、运行时间等)。直到父进程通过 wait() 或 waitpid() 来获取其状态并释放(具体用...
分类:
系统相关 时间:
2015-08-13 12:16:19
阅读次数:
192