1.在Linux中描述进程的结构体叫做 task_struct。
2.task_struct是Linux内核的一种数据结构,它会被装载到RAM里并且包含着进程的信息。
二、僵尸进程代码:
include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
pid_t id =fork();
if(id == 0)
{
printf("child do thing 1...,pid:%d,ppid:%d\n",getpid(),getppid());
sleep(5);
exit(1);
}
else if(id>0)
{
while(1)
{
printf("father do thing 2...,pid:%d,ppid:%d\n",getpid(),getppid());
sleep(3);
}
}
else
{
perror("fork");
}
return 0;
}
三、孤儿进程:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
pid_t id =fork();
if(id == 0)
{
while(1)
{
printf("child do thing 1...,pid:%d,ppid:%d\n",getpid(),getppid());
sleep(1);
}
exit(1);
}
else if(id>0)
{
while(1)
{
printf("father do thing 2...,pid:%d,ppid:%d\n",getpid(),getppid());
sleep(5);
exit(1);
}
}
else
{
perror("fork");
}
return 0;
}