进程概念:活跃度程序,占用系统资源,在内存中执行产生一个进程
孤儿进程:父进程先于子进程结束,则子进程称为孤儿进程,并且这个子进程被init进程回收
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
pid_t pid;
pid=fork();
if(pid==0)
{
while(1)
{
printf("i am child , my father %d\n",getppid());
sleep(5);
}
}else if(pid>0)
{
printf("i am parent pid is =%d,my son =%d\n",getpid(),pid);
sleep(1);
printf("------parent is die-----\n");
}
else
printf("fork faild\n");
return 0;
}
僵尸进程:进程终止,父进程尚未回收,子进程残留资源存放在内核中,变成僵尸进程。
僵尸进程代码分析如下:
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include <sys/types.h>
int main(void)
{
int n=5, i=0;
pid_t pid;
for(i=0;i<n;i++)
{
pid=fork();
if(pid ==0)
{
break;
}
}
if(n==i) //父进程
{
while(1)
{
sleep(n);
printf("the parent pid=%d\n",getpid());
}
}
else //子进程
{
// sleep(10);
sleep(i);
printf("i am %d the child pid=%d\n ",i+1,getpid());
printf("-----child die-----\n");
}
return 0;
}
利用ps aux查看进程信息:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)