完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序,该子进程被新的程序替换,改变地址空间,进程映像和一些属性,但是pid号不变。
execve(): #include int execve(const char *filename, char *const argv[], char *const envp[]); 参数含义: filename:路径名,表示载入进程空间的新程序路径。 argv[]:命令行参数,argv[0]为命令名。 envp[]:新程序的环境变量。 返回值:成功时不会返回,使用时不用检查返回值,可通过errno检查。 以下函数都是根据execve实现: int execl(const char *path, const char arg, …/ (char *) NULL */); int execlp(const char *file, const char arg, …/ (char *) NULL */); int execle(const char *path, const char arg, …/, (char *) NULL, char * const envp[] */); int execv(const char *path, char *const argv[]); int execvp(const char *file, char *const argv[]); int execvpe(const char *file, char *const argv[],char *const envp[]); 实验代码: 创建子进程,子进程使用execl调用ls查看当前目录下的文件。 exec.c: 使用execl调用shell命令查看文件信息。 执行结果: Linux系统基于这些函数实现了“popen”,“system”等函数,这些函数能够直接调用shell等函数。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1021浏览 1评论
1850浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1360浏览 1评论
1852浏览 0评论
1178浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 05:32 , Processed in 0.605263 second(s), Total 44, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2211