当前位置: 首页 > wzjs >正文

网站上怎么做企业推广广州本地新闻

网站上怎么做企业推广,广州本地新闻,做蛋糕网站策划书,网站如何建设流程图1. 基本概念 1.1 进程替换 vs. 进程创建 进程创建:使用fork()或clone()等系统调用创建一个新的子进程,子进程是父进程的副本,拥有相同的代码和数据。进程替换:使用exec系列函数在当前进程中加载并执行一个新的程序,替…

1. 基本概念

1.1 进程替换 vs. 进程创建

  • 进程创建:使用fork()clone()等系统调用创建一个新的子进程,子进程是父进程的副本,拥有相同的代码和数据。
  • 进程替换:使用exec系列函数在当前进程中加载并执行一个新的程序,替换掉当前进程的映像,但保留PID、文件描述符等资源。

1.2 exec系列函数

exec系列函数用于在当前进程中执行一个新程序。常见的exec函数包括:

这些函数的命名规则如下:

  • 前缀exec
  • 中间部分
    • l(list):参数以列表形式传递。
    • v(vector):参数以数组形式传递。
  • 后缀
    • e:允许传递环境变量。
    • p:使用PATH环境变量来查找可执行文件。

2. 常用的exec函数

2.1 execl()

函数原型:

 

#include <unistd.h>int execl(const char *path, const char *arg, ... /* (char  *) NULL */);

参数:

  • path:要执行的可执行文件的路径。
  • arg:第一个参数,通常是程序名。
  • ...:可变参数列表,以NULL结尾。

 例子:

#include <stdio.h>
#include <unistd.h>int main() {printf("Before execl\n");execl("/bin/ls", "ls", "-l", NULL);// 如果execl成功,以下代码不会执行perror("execl failed");return 1;
}

2.2 execv()

函数原型:

#include <unistd.h>int execv(const char *path, char *const argv[]);

参数:

  • path:要执行的可执行文件的路径。
  • argv:参数数组,以NULL结尾。

例子:

#include <stdio.h>
#include <unistd.h>int main() {char *args[] = { "ls", "-l", NULL };printf("Before execv\n");execv("/bin/ls", args);// 如果execv成功,以下代码不会执行perror("execv failed");return 1;
}

2.3 execlp()

函数原型:

#include <unistd.h>int execlp(const char *file, const char *arg, ... /* (char  *) NULL */);

参数:

  • file:可执行文件名,会在PATH环境变量中查找。
  • arg:第一个参数,通常是程序名。
  • ...:可变参数列表,以NULL结尾。

例子:

#include <stdio.h>
#include <unistd.h>int main() {printf("Before execlp\n");execlp("ls", "ls", "-l", NULL);// 如果execlp成功,以下代码不会执行perror("execlp failed");return 1;
}

2.4 execvp()

函数原型:

#include <unistd.h>int execvp(const char *file, char *const argv[]);

参数:

  • file:可执行文件名,会在PATH环境变量中查找。
  • argv:参数数组,以NULL结尾。

例子:

#include <stdio.h>
#include <unistd.h>int main() {char *args[] = { "ls", "-l", NULL };printf("Before execvp\n");execvp("ls", args);// 如果execvp成功,以下代码不会执行perror("execvp failed");return 1;
}

2.5 execle()

函数原型:

#include <unistd.h>int execle(const char *path, const char *arg, ... /* (char  *) NULL, char * const envp[] */);

参数:

  • path:要执行的可执行文件的路径。
  • arg:第一个参数,通常是程序名。
  • ...:可变参数列表,以NULL结尾。
  • envp:环境变量数组。

例子:

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>int main() {char *env[] = { "PATH=/bin", NULL };printf("Before execle\n");execle("/bin/ls", "ls", "-l", NULL, env);// 如果execle成功,以下代码不会执行perror("execle failed");return 1;
}

2.6 execvpe()

#include <unistd.h>int execvpe(const char *file, char *const argv[], char *const envp[]);
 参数
  • file:要执行的可执行文件的名称。如果 file 中包含斜杠 (/),则将其视为路径名,直接尝试执行。(如果 file 不包含斜杠,则会在 PATH 环境变量指定的目录中查找可执行文件。)

  • argv:参数数组,以 NULL 结尾。argv[0] 通常是程序名。

  • envp:环境变量数组,以 NULL 结尾。每个环境变量以 "NAME=VALUE" 的形式表示。

例子:

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>int main() {// 要执行的程序及其参数char *args[] = { "printenv", "MY_VAR", NULL };// 自定义环境变量char *env[] = { "MY_VAR=HelloWorld", "PATH=/bin:/usr/bin", NULL };printf("Before execvpe\n");// 执行程序if(execvpe("printenv", args, env) == -1) {perror("execvpe failed");exit(1);}// 如果 execvpe 成功,以下代码不会执行return 0;
}

 

 

 

2.7 execve()(这个上面查库没有,要单独查)

函数原型:

 

 

参数:

  • pathname:要执行的可执行文件的路径。
  • argv:参数数组,以NULL结尾。
  • envp:环境变量数组。

例子:

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>int main() {char *args[] = { "ls", "-l", NULL };char *env[] = { "PATH=/bin", NULL };printf("Before execve\n");execve("/bin/ls", args, env);// 如果execve成功,以下代码不会执行perror("execve failed");return 1;
}

 

3. 错误处理

大多数exec函数在成功时不会返回,如果失败则返回-1,并设置errno变量。常见的错误包括:

  • ENOENT:文件不存在。
  • EACCES:权限不足。
  • ENOEXEC:可执行文件格式错误。

例子:

#include <stdio.h>
#include <unistd.h>int main() {if(execl("/bin/ls", "ls", "-l", NULL) == -1) {perror("execl failed");}// 如果execl成功,以下代码不会执行return 1;
}

 

 

 

 

 

 

 

 

 

 


文章转载自:

http://BVZQL7YF.gkktj.cn
http://55ivJVQf.gkktj.cn
http://GhLzk4YY.gkktj.cn
http://J9e9FALq.gkktj.cn
http://DAuJV2zA.gkktj.cn
http://67Dg70AG.gkktj.cn
http://V4XECgLQ.gkktj.cn
http://d8mfHDoN.gkktj.cn
http://Pi34aVMZ.gkktj.cn
http://ndMtLZ3S.gkktj.cn
http://Kup3C6zI.gkktj.cn
http://9ZMo6kg0.gkktj.cn
http://oUTnauVq.gkktj.cn
http://ULYTHdFj.gkktj.cn
http://gRqW2MdP.gkktj.cn
http://Ak6EZWTK.gkktj.cn
http://MBcY1OMI.gkktj.cn
http://pHZslxgJ.gkktj.cn
http://I4olFvPw.gkktj.cn
http://ws5YfpeY.gkktj.cn
http://aIdjiVl4.gkktj.cn
http://yFWE6Umc.gkktj.cn
http://OKhCqR3G.gkktj.cn
http://89U6aHBq.gkktj.cn
http://cg2VWAwG.gkktj.cn
http://tpcS2uXS.gkktj.cn
http://bqSjL1BE.gkktj.cn
http://QrP9fIQ1.gkktj.cn
http://Vh78zazA.gkktj.cn
http://DLwot5kD.gkktj.cn
http://www.dtcms.com/wzjs/708955.html

相关文章:

  • 企业网站女生做网站主题有哪些
  • 网站建设方案书阿里云模板最近三天的新闻大事国内
  • 东大桥网站建设唐山海港开发区人才网
  • 网站扁平化布局管庄地区网站建设
  • 最简单的网站开发工具西安房产网签查询官网
  • 网站建设 天佩营销佛山手机网站建设优化
  • 网站免费源码大全无用下载东莞哪家网站建设专业
  • 网站关闭模板网站建设备案计划书
  • 地方网站收录洛阳微信网站建设
  • 国外优秀企业网站欣赏wordpress点击数
  • 网络服务与协议课件郑州百度关键词seo
  • 宁夏建设工程招投标管理中心网站网站收缩目录模板
  • 腾讯做的电子商务网站学校网站模板免费
  • 网站ip段屏蔽国家级示范建设网站
  • 怎样利用网站做推广网站解析后显示建设中
  • 货代可以从哪些网站开发客户软件商店应用
  • 网站卡密怎么做广西建设网查询
  • 北京梦创义网站建设本地app制作公司
  • 浙江综合网站建设配件怎么建网站数据库
  • 辽宁省建设厅证书查询网站wordpress添加导航
  • 专业网站建设费用电商网站建设开发的语言有哪些
  • 公司网站怎么申请怎么注册wordpress文章不显示全文
  • 两学一做教育纪实评价系统网站电商购物网站
  • 哪里有学习做网站的专门的网页制作工具有
  • 游戏道具网站开发网站内部流程
  • 网站建实例网页制作创建站点
  • 网站开发的背景是指什么建设银行官方网站购房贷款利率
  • 晚上做设计挣钱的网站青海网站制作
  • 建设留学网站最牛html5网站建设
  • asp.net 登陆两个网站全网营销公司排名前十