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

海南网站建设基本流程成都高端企业网站建设

海南网站建设基本流程,成都高端企业网站建设,国际贸易,wordpress建站 知乎execve() 是 Linux/UNIX 中的 exec 函数家族中的一个#xff0c;它允许进程执行一个新的程序。具体地#xff0c;execve() 替换当前进程的映像为新的程序映像。 函数原型如下#xff1a; int execve(const char *pathname, char *const argv[], char *const envp[]);pathn…execve() 是 Linux/UNIX 中的 exec 函数家族中的一个它允许进程执行一个新的程序。具体地execve() 替换当前进程的映像为新的程序映像。 函数原型如下 int execve(const char *pathname, char *const argv[], char *const envp[]);pathname: 要执行的程序的路径。argv: 是一个字符串数组表示要传递给新程序的参数列表。通常第一个参数 (argv[0]) 是程序的名称。这个列表必须以 NULL 指针结束。envp: 是一个环境变量的字符串数组代表新程序的环境。也必须以 NULL 指针结束。 如果 execve() 成功它不会返回因为调用进程的代码和数据已被新程序替换。如果出现错误它会返回 -1 并设置适当的 errno。 示例 在这个示例中我们将尝试执行 /bin/ls 命令列出当前目录的内容并传递两个参数给它-l表示长格式和 -a表示列出所有文件包括隐藏文件。 #include stdio.h #include unistd.hint main() {char *pathname /bin/ls; // 要执行的程序的路径char *argv[] { ls, -l, -a, NULL }; // 参数列表char *envp[] { PATH/bin:/usr/bin, TERMxterm, NULL }; // 环境变量只是为了示例printf(Executing ls...\n);if (execve(pathname, argv, envp) -1) {perror(execve failed);return 1;}// 如果 execve() 成功以下代码将不会执行printf(This wont be printed if execve is successful\n);return 0; }在此示例中如果 execve() 调用成功ls 命令将会执行并且“This wont be printed if execve is successful”这行代码将不会执行因为原始程序的映像已被 ls 命令替换。如果 execve() 失败它会返回 -1然后将会打印一个错误消息并显示“This wont be printed if execve is successful”。 majntiger:~/C_Project/process_project$ ./execve_demo total 152 drwxrwxr-x 3 majn majn 4096 Sep 17 16:34 . drwxrwxr-x 5 majn majn 4096 Sep 17 10:21 .. drwxrwxr-x 2 majn majn 4096 Sep 17 15:03 .vscode -rwxrwxr-x 1 majn majn 16088 Sep 17 16:34 atexit_demo -rw-rw-r-- 1 majn majn 345 Sep 17 16:34 atexit_demo.c -rwxrwxr-x 1 majn majn 16112 Sep 17 16:06 errno_demo -rw-rw-r-- 1 majn majn 284 Sep 17 16:07 errno_demo.c -rwxrwxr-x 1 majn majn 16056 Sep 17 10:56 exec_demo -rw-rw-r-- 1 majn majn 160 Sep 17 10:56 exec_demo.c -rwxrwxr-x 1 majn majn 16144 Sep 17 11:14 execve_demo -rw-rw-r-- 1 majn majn 410 Sep 17 11:14 execve_demo.c -rwxrwxr-x 1 majn majn 16096 Sep 17 10:25 fork_demo -rw-rw-r-- 1 majn majn 343 Sep 17 10:25 fork_demo.c -rwxrwxr-x 1 majn majn 16272 Sep 17 15:22 status_demo -rw-rw-r-- 1 majn majn 837 Sep 17 15:22 status_demo.c -rwxrwxr-x 1 majn majn 16312 Sep 17 15:11 waitpid_demo -rw-rw-r-- 1 majn majn 840 Sep 17 15:11 waitpid_demo.cchar *envp[] { “PATH/bin:/usr/bin”, “TERMxterm”, NULL }; 这是一个环境变量的数组用于传递给被 execve() 执行的程序。当一个程序运行时它接收到了一个环境变量的集合这些变量可以被用来影响程序的行为或配置。 在给出的数组中 PATH/bin:/usr/bin: PATH 是一个环境变量用于指示 shell 和其他程序在哪里查找可执行文件。值 /bin:/usr/bin 是一个冒号分隔的目录列表当用户或程序尝试运行一个命令但没有指定其完整路径时系统会在这些目录中查找该命令。 TERMxterm: TERM 是一个环境变量用于指示当前终端的类型。这对于那些需要知道如何与终端互动的程序例如文本编辑器或分页器是有用的。在这种情况下它被设置为 xterm这是一个常见的终端类型。 NULL: 这是数组的结束标志它告诉 execve() 在哪里停止读取环境变量。 需要注意的是当你在日常使用 shell 时许多环境变量如 PATH, HOME, LANG 等已经被设置并传递给你运行的每个程序。但在 execve() 中你必须明确地提供你想要传递给新程序的环境变量列表否则它不会继承任何环境变量。
http://www.hkea.cn/news/14459841/

相关文章:

  • 莆田企业制作网站wordpress登录不
  • 西安金融网站建设免费代理服务器国外
  • 360免费建站教程wordpress 邮件功能
  • 档案网站建设的步骤钙网logo免费设计在线生成
  • 网站如何编辑中山网站只设计
  • 企业网站服务器的选择网络搜索优化
  • 政务网站的建设原则wordpress 手机悬浮
  • php 企业网站框架济南网站制作报价
  • 网页与网站的区别和关系页游开发成本
  • 怎么做质量高的网站化妆品网站模板免费下载
  • 英雄联盟网站模板wordpress小工具自定义
  • 专业的网站建设流程全网营销老婆第一人
  • 263网站建设扬州市网站建设
  • 北京网站建设一般多少钱南宁哪个网络公司建网站好
  • 哈尔滨建站模板大全建设铝合金窗网站
  • 网页设计与网站建设...做文案策划有些网站
  • 留学网站建设免费云服务器官网
  • 网站开发大作业wordpress装修网插件
  • 单位的网站的建设关键词搜索引擎网站
  • 部门网站建设管理腾讯云注册域名dnspod
  • 做网站资料wordpress 免插件实现
  • 大品牌网站建设企业型网站有哪些特点
  • 网站审核文件网站提交工具
  • 可以做积分的网站wordpress不同分类调用不同文章
  • 宁波网站推广优化公司电话电影网站域名需要备案
  • 公益平台网站怎么做经典重庆论坛新闻论坛发展论坛
  • 用别人的电影网站做公众号wordpress字菜单
  • 陇南做网站企业门户管理系统
  • 做系统之前的网站徐州网络建站模板
  • 北京网站优化外包个人简历wps模板免费