请解释exec()函数及其家族

什么是exec()功能及其家族?为什么要使用此功能,其功能如何?

请任何人解释这些功能。


慕容708150
浏览 710回答 3
3回答

哔哔one

exec()系列中的函数具有不同的行为:l:参数作为字符串列表传递给main()v:参数作为字符串数组传递给main()p:搜索新运行程序的路径e:环境可以由调用方指定您可以将它们混合,因此具有:int execl(const char * path,const char * arg,...);int execlp(const char * file,const char * arg,...);int execle(const char * path,const char * arg,...,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 []);对于所有这些文件,初始参数是要执行的文件的名称。有关更多信息,请阅读exec(3)手册页:man 3 exec  # if you are running a UNIX system

一只萌萌小番薯

该exec系列函数使你的程序执行不同的程序,取代旧的程序它运行。即,如果您打电话execl("/bin/ls", "ls", NULL);然后使用ls调用的的进程ID,当前工作目录和用户/组(访问权限)执行程序execl。之后,原始程序不再运行。要启动新进程,将使用fork系统调用。要执行程序而不替换原始程序,您需要fork依次按exec。
打开App,查看更多内容
随时随地看视频慕课网APP