一个进程的控制过程就是创建,执行,终止。llinux对于这三类控制都有一类函数,叫做进程控制原语。
一、创建原语
1)fork()
2)vfork()
二、执行(加载)原语:exec函数族
1)execl
2) execv
3) execle
4) execve
5) execlp
6) execvp
三、退出/等待原语:exit()函数族,wait函数族
1)exit
2)_exit
3)wait
4)waitid
5) waitpid
四、简单运用:
#include<iostream>
#include<unistd.h>
#include<sys/wait.h>
#include<sys/types.h>
using namespace std;
int main(){
int pid;
pid = fork();
if (pid<0){
cout<<stderr<<",Fork Faild"<<endl;
exit(-1);
}
else if (pid==0){
sleep(3);
cout<<"hello,I'am child."<<endl; //子进程执行
}
else{
wait(NULL); //等待子进程执行完毕
cout<<"child Complete"<<endl;
cin.get();
exit(0);
}
}