linux中,进程创建与加载新进程映像是

linux中,进程创建与加载新进程映像是,第1张

在子进程的虚拟地址空间里加载新的映像,需要使用系统提供的一系列函数

ff35e3820794f8ed5abf1246cb21a832.png

他们的作用都是执行一个文件李早,当我们创建了一个进程之后,通常将子进程替换成新的进程映象,这可以用exec系列的函数来进行。当然,exec系列的函数也可以将当前进程替换掉。例如:在shell命令行执行ps命令,实际上是shell进程调用fork复制一个新的子进程,在利用exec系统调用将新产生的子进程完全替换成ps进程。

exec系列函数(execl、execlp、execle、execv、execvp)包含头文件

功能:

用exec函数可以把当前进程替换为一个新进程,且新掘扰信进程与原进程有相同的PID。exec名下是由多个关联函数组成的判轮一个完整系列,

C语言execl()函数:执行文件函数

相关函数:fork, execle, execlp, execv, execve, execvp

头文件:#include <unistd.h>

定义函数:int execl(const char * path, const char * arg, ...)

函数说明:execl()用来执行参数path 字符串所代表的文件路径, 接下来的参数代表执行洞穗该文件时传递过去的argv(0), argv[1], ..., 最后一个参数必须用空指针(NULL)作竖耐结束.

返回值:如果执行成功则函数不会返余颤春回, 执行失败则直接返回-1, 失败原因存于errno 中.

范例

#include <unistd.h>

main()

{

execl("/bin/ls", "ls", "-al", "/etc/passwd", (char *)0)

}

执行:

/*执行/bin/ls -al /etc/passwd */

-rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12200804.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存