Linux_exec函数族

​ exec函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件。

​ exec函数族的函数执行成功后不会返回,因为调用进程的实体,包括代码段,数据段和堆栈等都已经被新的内容取代,只留下进程 ID 等一些表面上的信息仍保持原样,只有调用失败了,它们才会返回 -1,并设置errno,从原程序的调用点接着往下执行。

在这里插入图片描述

execl(“/bin/ps”, “ps”, “aux”, NULL);

execlp(“ps”, “ps”, “aux”, NULL);

​ exelp函数会到环境变量中查找指定的可执行文件,如果找到了就执行,找不到就执行不成功

int execv(const char *path, char *const argv[]);

​ argv是需要的参数的一个字符串数组:

​ char * argv[] = {“ps”, “aux”, NULL};

​ execv(“/bin/ps”, argv);

int execve(const char *filename, char *const argv[], char *const envp[]);

​ char * envp[] = {“/home/nowcoder”, “/home/bbb”, “/home/aaa”};

实际开发中常用execl和execv。

**system函数:**system(char *),执行完成后返回程序,继续流程;但是exec函数族不会回到原程序继续执行。
回程序,继续流程;但是exec函数族不会回到原程序继续执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值