Linux基础:进程控制

进程函数

简单描述一下关于进程的函数,主要有fork调用、exec调用、exit调用、wait调用和sleep调用。

fork调用

所需头文件

#include <unistd.h>     //标准函数库

#include <sys/types.h>  //提供系统调用的标志

 

函数原型

pid_t fork(void);  //创建子进程时,复制父进程上下文

pid_t vfork(void);  //创建子进程时,不复制父进程上下文

 

返回值

成功:返回两个值。子进程返回0,父进程返回子进程ID。

失败:-1

fork函数是Unix/Linux操作系统中用于创建子进程的函数。当调用fork()函数时,操作系统会创建一个与原进程几乎完全相同的新进程。

  • 操作系统接收到fork()函数调用后,会复制父进程的所有资源(包括代码、数据、堆栈等)到子进程。
  • 子进程拥有与父进程完全相同的内存映像,但是具有独立的地址空间。
  • 子进程从fork()函数的返回处开始执行,而父进程则继续在原来的位置执行。
  • fork()函数返回两次,一次返回给父进程,一次返回给子进程。在父进程中,fork()函数返回子进程的PID;在子进程中,fork()函数返回0。
  • 父进程和子进程是相互独立的,它们有不同的PID,但是它们共享相同的代码段、数据段和堆栈段。
  • 父进程可以通过获取子进程的PID,并使用系统调用wait()等待子进程的结束,从而获得子进程的返回状态。而子进程可以通过系统调用exec()来执行新的程序,从而创建一个全新的进程。

 

热门相关:亿万盛宠只为你   拒嫁豪门,前妻太抢手   我的爱人借给你   不科学御兽   异世修真邪君