什么是僵尸进程?首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。而僵尸...
分类:
系统相关 时间:
2014-10-12 15:45:08
阅读次数:
384
Wait函数
pid_t wait(int *status);//函数原型
头文件、
进程一旦调用了wait,就立即阻塞自己,由wait自动分析当前进程的某个子进程是否已经退出,如果它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到,wait就会一直阻塞在这里,直到有一个出现为止。
SIGCHLD
SIGCHLD,Linux的一...
分类:
系统相关 时间:
2014-10-06 12:14:10
阅读次数:
209
如果子进程先于父进程退出, 同时父进程又没有调用wait/waitpid,则该子进程将成为僵尸进程。通过ps命令,我们可以看到该进程的状态为Z(表示僵死),...
分类:
其他好文 时间:
2014-09-29 01:08:27
阅读次数:
401
孤儿进程和僵尸进程
正常的子进程fork其父进程后,二者建立父子关系。
当子进程终结时,它会通知父进程,并清空自己所占据的内存,并在kernel里留下自己的退出信息(exit code,如果顺利运行,为0;如果有错误或异常状况,为>0的整数)。在这个信息里,会解释该进程为什么退出。父进程在得知子进程终结时,有责任对该子进程使用wait系统调用。这个wait函数能从ke...
分类:
系统相关 时间:
2014-09-26 10:59:58
阅读次数:
269
孤儿进程 父进程先死,子进程托孤给一号进程#include #include #include int main(void){ pid_t pid; pid = fork(); if(-1 == pid) { return 0; } ...
分类:
系统相关 时间:
2014-09-24 21:18:37
阅读次数:
195
??
1 wait/waitpid
僵尸进程:
子进程退出,父进程没有回收子进程资源(PCB),则子进程变成僵尸进程
孤儿进程:
父进程先于子进程结束,则子进程成为孤儿进程,子进程的父进程成为1号
进程init进程,称为init进程领养孤儿进程
2依赖的头文件
#include
#include
3函数声明
pid_t wait(int...
分类:
其他好文 时间:
2014-09-21 01:48:29
阅读次数:
418
程序代码:
#include
using namespace std;
class SmallPlant//小型植物
{
public:
//攻击力
virtual int AttackPower()
{
return 10;//攻击力为10
}
};
class Zombie//僵尸
{
public:
//攻击力
i...
分类:
其他好文 时间:
2014-09-19 19:26:55
阅读次数:
273
Zombie’s Treasure ChestTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4442Accepted Submission(s):...
分类:
其他好文 时间:
2014-09-18 13:12:13
阅读次数:
234
说几点。1.首先ADT的Eclipse没用!2.要4.4.0的Eclipse,才能装Gradle插件。之后就可以导入Gradle项目。选择Build Model3..这玩意好蛋疼。。我决定跟回作者方法。
分类:
移动开发 时间:
2014-09-12 19:05:43
阅读次数:
301
原文地址:http://www.kilobolt.com/zombie-bird-tutorial-flappy-bird-remake.html这个是教你怎么开发个僵尸鸟的。对我来说,我他喵才不想开发什么僵尸鸟。我只是打算研究一下libgdx。本来用AndEngine,可惜这货从上年就不更新了。l...
分类:
移动开发 时间:
2014-09-12 18:57:23
阅读次数:
384