Linux环境变量编程--进程创建
进程创建 1.进程号获取 2.fork()函数创建子进程 2.1 父进程和子进程执行顺序?是否会阻塞? 2.2 进程数据共享么? 2.3 子进程何时执行? 2.4 子进程{}之后的代码是谁的? 3. vfork()函数创建子进程 3.1 父子进程执行顺序? 3.2 父子进程何时执行? 3.3 子进程{}之后的代码是谁的? 3.4 进程数据共享么? 1.进程号获取 pid_t getpid(void); 返回当前进程的进程号 pid_t getppid(void); 返回当前的进程的父进程 2.fork()函数创建子进程 fork:目的是在当前进程下创建一个子进程. fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次. 它可能有三种不同的返回值: 1)在父进程中,fork返回新创建子进程的进程ID; 2)在子进程中,fork返回0; 3)如果出现错误,fork返回一个负值; 在fork函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程.在子进程中fork函数返回0,在父进程中,fork返回新创建子进程的进程ID大于0。我们可以通过fork返回的值来判断当前进程是子进程还是父进程。 0 表示的是子进程的进程号,那么这个fork是父进程执行的结果 0 表示的是,这是由子进程执行的结果 -1 父进程创建子进程失败,此时不会有子进程创建 2.1