创建:
fork:
作用:创建一个进程
原型:pid_t、fork(void)
返回值: <0 出错
=0 子进程
>0 父进程
子进程的数据堆栈空间都是从父进程拷贝过来的。
vfork
作用:建立一个新的进程
原型:pid_t vfork
返回值: < 0 出错
=0 子进程
> 父进程
头文件:#include <stdlib.h>
fork 与 vfork 的区别:
1、fork:子进程拷贝父进程数据段
vfork:子进程与父进程共享数据段
2、fork:父、子进程的执行次序不定。
vfork:子进程先进行,退出后父进程后进行。
运行:
exec函数族:
execl:
作用:执行文件
原型:int execl(const char *path, const char *arg)
参数:path :字符串代表的文件路径。
argv【】:执行文件传递参数地址,最后一个以 NULL结束。
返回值:成功不返回,失败 -1;
头文件:#include <unistd.h>
int main ()
{
execl (" ", " " ,NULL);
}
exev
作用:执行文件
原型:int execv (const char*path,char*const argv【】);
参数:path:字符串代表的文件路径。
argv:数组指针
返回值:成功不返回,出错 -1
头文件:#include <stdlib.h>
system:
作用:执行命令
原型:int system(const char*string);
参数:string :代表的命令字符串
返回值:
头文件:#include<stdlib.h>
sys("ls_la/count.c");