一、前言
1、启动进程方法:
用户操作方法:路经 + 程序名称
程序进行启动进程:
通过一个进程创建另一个进程的方法
二、方法
头文件:#include <unistd.h>
1、fork() 方法:具有创建进程的功能
- 原型:
pid_t fork( void );
- 调用fork的进程称为父进程
- 新生成的进程称为子进程
- 从父进程到子进程的过程我们可以理解为是将原代码复制了一份。
- fork() 方法调用后,父子进程都从fork调用之后的指令开始执行,这样就不会造成一直调用fork() 无限循环的情况。
- 在父进程中返回子进程的pid,在子进程中返回的是0,如果父进程创建子进程失败,返回 -1。
- 举例:
最终结果为:
world
hello
2、getpid() 方法:获取当前进程的pid值
3、getppid() 方法:返回当前进程的父进程的pid
4、注意:fork() 之后,父、子进程是并发执行的过程。
并不是一个进程执行完,再去执行另一个进程。所以如果有想让子进程执行的操作就放在 if 中,如果有想让父进程执行的操作就放在 else 中。
举例:
int main()
{
pid_t pid = fork<