找回密码
 注册
关于网站域名变更的通知
查看: 281|回复: 2
打印 上一主题 下一主题

迅为i.MX6ULL终结者进程基础 exec函数族

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-3-12 15:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序,该子进程被新的程序替换,改变地址空间,进程映像和一些属性,但是pid号不变。3 X* ]6 L' P/ C+ o1 A
execve():% k, U6 T* L: e6 w  U
#include
+ G1 y- d8 n5 yint execve(const char *filename, char *const argv[], char *const envp[]);% B( o7 N) @7 W' y8 B3 b) l# H" g
参数含义:
% d! J+ w" f7 [! ~# \filename:路径名,表示载入进程空间的新程序路径。
* Z0 t* n' o! q4 I& w, j1 n/ i6 Dargv[]:命令行参数,argv[0]为命令名。, A) O* M# X; B  J
envp[]:新程序的环境变量。
9 M0 B2 q; Z, b返回值:成功时不会返回,使用时不用检查返回值,可通过errno检查。
* _" o- y9 H" P1 e) \+ Y! d以下函数都是根据execve实现:
. U( h: J7 H0 P8 |# nint execl(const char *path, const char arg, …/ (char *) NULL */);& b) k3 |7 Q: h
int execlp(const char *file, const char arg, …/ (char *) NULL */);" o- R1 L* v1 d% z4 b2 A
int execle(const char *path, const char arg, …/, (char *) NULL, char * const envp[] */);
# r( |' O; @+ I9 I0 Kint execv(const char *path, char *const argv[]);  D5 V- D, r; k: r2 U- |6 v
int execvp(const char *file, char *const argv[]);
8 I2 S+ r2 ]& P8 @8 Qint execvpe(const char *file, char *const argv[],char *const envp[]);/ y9 [/ t8 g) ~+ E3 g5 w
实验代码:9 T( Z1 X. P( T* G
创建子进程,子进程使用execl调用ls查看当前目录下的文件。
/ z# s; H' {% O+ v) R. Lexec.c:
$ \. M# u/ i5 t( H+ G+ T使用execl调用shell命令查看文件信息。* U0 T1 }, x6 g0 E' ~

3 b% J# a5 o6 Q9 }- `( V( v6 r+ J, Z6 X4 m) h
执行结果:! y* T, [  y, {8 ]9 L6 [
+ v; Y( r* d, v/ r2 K  B( z6 C
Linux系统基于这些函数实现了“popen”,“system”等函数,这些函数能够直接调用shell等函数。+ P6 x. j2 k$ T% z/ Z3 g# v
$ Q6 [0 `% L9 W( a2 E% z
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2021-3-15 17:10 | 只看该作者
    exec函数族
  • TA的每日心情
    奋斗
    2025-1-1 15:26
  • 签到天数: 584 天

    [LV.9]以坛为家II

    3#
    发表于 2021-3-17 09:49 | 只看该作者
    谢谢,努力学习中
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 16:13 , Processed in 0.171875 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表