1、如何创建一个新的进程:
使用fork()函数:
使用fork函数可以产生一个与父进程一模一样的新的进程,称为子进程,同时两个进程之间可以执行不同的任务。
#include <stdio.h>
int main()
{
int aa = 0;
printf("I am process pid=%d ppid=%d\n", getpid(),getppid() );
/*
int fork();
*/
int pid = fork();
if(pid >0){
while(1){
aa++;
printf("I am father pid=%d ppid=%d\n",getpid(),getppid());
sleep(1);
}
}else if(pid==0){
while(1){
printf("I am child pid=%d ppid=%d\n",getpid(),getppid());
printf("child aa=%d\n",aa);
sleep(1);
}
}
}
2、如何将创建的进程释放:
使用exit()函数结束进程,但是在结束进程之后,进程并没有被完全回收,会成为一个僵尸进程,需要等待父进程去完全回收释放。
#include <stdio.h>
int main()
{
int aa = 0;
printf("I am process pid=%d ppid=%d\n", getpid(),getppid() );
/*
int fork();
*/
int pid = fork();
if(pid >