1.进程的创建
Linux下产生新进程的系统调用是fork函数,fork系统调用产生一个新的进程,称为子进程,是调用进程的一个复制品,调用进程称为父进程,子进程集成父进程的几乎所有属性,其函数原型和参数如下。
(1)头文件
#include <sys/types.h>
#include <unistd.h>
(2)函数原型
pid_t fork(void); //在type.h中它被定义为int
(3)函数的返回值
子进程中返回0,父进程中返回子进程ID,出错返回-1。
(4)函数说明
一个现有进程可以调用fork函数创建一个新进程(子进程)。fork函数被调用一次但返回两次,两次返回的唯一区别为子进程中返回0值,父进程中返回子进程ID。
Linux下产生新进程的系统调用是fork函数,fork系统调用产生一个新的进程,称为子进程,是调用进程的一个复制品,调用进程称为父进程,子进程集成父进程的几乎所有属性,其函数原型和参数如下。
(1)头文件
#include <sys/types.h>
#include <unistd.h>
(2)函数原型
pid_t fork(void); //在type.h中它被定义为int
(3)函数的返回值
子进程中返回0,父进程中返回子进程ID,出错返回-1。
(4)函数说明
一个现有进程可以调用fork函数创建一个新进程(子进程)。fork函数被调用一次但返回两次,两次返回的唯一区别为子进程中返回0值,父进程中返回子进程ID。
子进程活得父进程数据空间、堆栈等资源的副本。他们之间共享的存储空间只有代码段。
例1.1创建子进程实例
#include <sys/types.h>
#include <unistd.h>
main()
{
pid_t child_pid;
in child_status;
child_pid = fork(); //创建一个子进程
switch (child_pid){
case -1:
perror("fork");
exit(1);
case 0:
printf("hello world\n");
exit(0);
default:
wait(&child_status);
}
}