进程API
C语言进程
fork()
fork()用来创建一个子进程,子进程将拷贝父进程内存和代码,并从父进程fork函数开始继续执行。
fork()函数在父进程返回值为,子进程pid;在子进程返回 0;创建失败返回负数。
wait()
在父进程中等待子进程执行完毕。
返回值:等待的子进程执行成功,返回该进程pid,失败返回-1
waitpid()
可以控制父进程等待哪个子进程,waitpid()要在在进程本身有子进程的时候有用。
vfork()
使用vfork函数创建进程后,无需父进程使用wait等待。
getpid()
返回当前进程pid。
管道 pipe()
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。
浙公网安备 33010602011771号