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

网站的策划建设方案书登录注册入口

网站的策划建设方案书,登录注册入口,asp网站建设技术方案,政府网站流行设计特点目录 1、exec函数族的介绍2、exec相关函数 1、exec函数族的介绍 2、exec相关函数 #include <unistd.h> int execl(const char *pathname, const char *arg0, ... /* (char *)0 */ ); /* - path 需要指定的执行的文件的路径或者名称&#xff0c;相对路径or绝对路径- arg …

目录

  • 1、exec函数族的介绍
  • 2、exec相关函数

1、exec函数族的介绍

在这里插入图片描述

2、exec相关函数

#include <unistd.h>
int execl(const char *pathname, const char *arg0, ... /* (char *)0 */ );
/* - path 需要指定的执行的文件的路径或者名称,相对路径or绝对路径- arg 是执行可执行文件的参数列表- 第一个参数没有用- 最后一个参数为 NULLexecl("a.out", "a.out","10", NULL);execl("/bin/ps", "ps", NULL);
*/int execlp(const char *filename, const char *arg0, ... /*(char *)0 */ );
/*
- file 需要执行的可执行文件名
- execl("ps", "ps", NULL);
- 这个函数可以从环境路径自行查找
*/int execv(const char *pathname, char *const argv[]); int execle(const char *pathname, const char *arg0, .../* (char *)0, char *const envp[] */ );int execve(const char *pathname, char *const argv[], char*const envp[]);int execvp(const char *filename, char *const argv[]);int fexecve(int fd, char *const argv[], char *const envp[]);
  • l(list) 参数地址列表,以空指针结尾

  • v(vector) 存有各参数地址的指针数组的地址

  • p(path) 按 PATH 环境变量指定的目录搜索可执行文件

  • e(environment) 存有环境变量字符串地址的指针数组的地址,自行指定环境路径

前六个为标准c库中的函数,最后一个为Linux中的系统函数。用的最多的就是前两个

下面对前两个函数做一个详细说明:

execl

/*  #include <unistd.h>int execl(const char *path, const char *arg, ...);- 参数:- path:需要指定的执行的文件的路径或者名称a.out /home/nowcoder/a.out 推荐使用绝对路径./a.out hello world- arg:是执行可执行文件所需要的参数列表第一个参数一般没有什么作用,为了方便,一般写的是指定的可执行的程序的名称从第二个参数开始往后,就是程序执行所需要的的参数列表。参数最后需要以NULL结束(哨兵)- 返回值:只有当调用失败,才会有返回值,返回-1,并且设置errno如果调用成功,没有返回值。*/
#include <unistd.h>
#include <stdio.h>int main() {// 创建一个子进程,在子进程中执行exec函数族中的函数pid_t pid = fork();if(pid > 0) {// 父进程printf("i am parent process, pid : %d\n",getpid());sleep(1);//如果没有sleep,可以试一下打印结果}else if(pid == 0) {// 子进程// execl("hello","hello",NULL);execl("/bin/ps", "ps", "aux", NULL);perror("execl");printf("i am child process, pid : %d\n", getpid());//如果execl执行成功,那么这行代码是不会被执行的,且下面的for循环也只会被父进程执行,而不会被子进程执行。子进程只会执行可执行程序中的代码}for(int i = 0; i < 3; i++) {printf("i = %d, pid = %d\n", i, getpid());}return 0;
}

这段程序里通过execl通了两个例子,一个是hello.c程序,一个是ps指令

execlp

/*  #include <unistd.h>int execlp(const char *file, const char *arg, ... );- 会到环境变量中查找指定的可执行文件,如果找到了就执行,找不到就执行不成功。- 参数:- file:需要执行的可执行文件的文件名a.outps- arg:是执行可执行文件所需要的参数列表第一个参数一般没有什么作用,为了方便,一般写的是执行的程序的名称从第二个参数开始往后,就是程序执行所需要的的参数列表。参数最后需要以NULL结束(哨兵)- 返回值:只有当调用失败,才会有返回值,返回-1,并且设置errno如果调用成功,没有返回值。int execv(const char *path, char *const argv[]);argv是需要的参数的一个字符串数组char * argv[] = {"ps", "aux", NULL};execv("/bin/ps", argv);int execve(const char *filename, char *const argv[], char *const envp[]);char * envp[] = {"/home/nowcoder", "/home/bbb", "/home/aaa"};*/
#include <unistd.h>
#include <stdio.h>int main() {// 创建一个子进程,在子进程中执行exec函数族中的函数pid_t pid = fork();if(pid > 0) {// 父进程printf("i am parent process, pid : %d\n",getpid());sleep(1);}else if(pid == 0) {// 子进程execlp("ps", "ps", "aux", NULL);printf("i am child process, pid : %d\n", getpid());}for(int i = 0; i < 3; i++) {printf("i = %d, pid = %d\n", i, getpid());}return 0;
}

execlp与execl的不同之处就在于:execlp的第一个参数只需要是可执行文件的参数名,该函数会到环境变量中查找指定的可执行文件,如果找到了就执行,找不到就执行不成功。而execl的第一个参数是可执行文件的相对路径或者绝对路径

http://www.ritt.cn/news/21358.html

相关文章:

  • 飞卢盗版做的最好的网站考研培训班集训营
  • 网站规划与开发技术专业百度首页排名优化多少钱
  • 有创意的设计工作室名字seo关键词排名怎么优化
  • ps网站主页按钮怎么做自动化测试培训机构哪个好
  • 电子商务网站建设需求表百度竞价推广教程
  • 瑞安公司做网站软文300字案例
  • 深圳做营销网站制作满足seo需求的网站
  • 做网站一定要注册域名吗沧州seo推广
  • 领导与中建三局集团有限公司淘宝seo排名优化软件
  • 企业是做app还是做网站考研比较厉害的培训机构
  • 做网站怎么写代码长沙网站建设
  • 江苏盐城有做淘宝网站的吗深圳专业seo
  • 以家为主题做网站宣传软文
  • 做进口产品的网站好百度指数的特点
  • 网站建设栏目分级四川企业seo
  • wordpress固定连接设置扬州百度seo公司
  • 酒店 深圳 网站制作今日国际重大新闻
  • 网站关键词选取唐山seo优化
  • 腾讯风铃做的网站有期限吗龙岗seo优化
  • wordpress nginx 安全百度小程序排名优化
  • 上海做网站吧百度网盘搜索引擎盘多多
  • 温州网站制作建设宁德市人民政府
  • WordPress旋转图标太原seo计费管理
  • ckeditor for wordpress网站seo优化检测
  • 几百块做网站网络营销课程报告
  • 广州兼职做网站关键词是网站seo的核心工作
  • 商务网站开发代码网店怎么开
  • 涉县移动网站建设价格网络推广运营主要做什么
  • 网站建设付款方式百度代运营公司
  • 东莞网站页设计制作黑帽seo365t技术