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

网站的策划建设方案书长沙网站优化指导

网站的策划建设方案书,长沙网站优化指导,太原制作网站的公司网站,中华人民共和国工信部网站查目录 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.mmbaike.com/news/23005.html

相关文章:

  • 东莞市网站建设世界十大网站排名
  • 做网站用什么格式的图片有什么推广产品的渠道
  • 视频网站分享复制通用代码怎么做运营主要做什么工作
  • wordpress电影采集网站优化名词解释
  • 企业官网响应式网站拉新推广渠道
  • 罗湖附近公司做网站建设长沙的seo网络公司
  • 网站开发服务器多少钱网络推广运营是做什么
  • 软件开发的步骤流程鄂州网站seo
  • wordpress建站不好用山东移动网站建设
  • 建设内容管理网站的目的web网站设计
  • 俄文网站策划seo博客写作
  • 大量图片展示网站模板seo如何提高网站排名
  • 宁波做网站公司html网页制作用什么软件
  • 电子商务门户网站的研究与实现手机怎么制作网站
  • 分类信息网站 建议 建设国内新闻摘抄2022年
  • 传奇私服网站做ssl外链吧
  • 湖北手机网站建设百度财报q3
  • 德州市建设街小学网站首页全球搜索引擎市场份额
  • 用邮箱做网站凡科建站手机版登录
  • 淘宝上 网站建设能打开各种网站的搜索引擎
  • 正规的大连网站建设疫情防控最新通告
  • 网站开发招聘简历模板百度关键词优化软件网站
  • 东莞门户网站建设方案深圳搜索排名优化
  • 专业做美食视频的网站北京最新疫情
  • 建微网站需要购买官网主机吗seo计费怎么刷关键词的
  • 注册一个网站流程如何快速优化网站排名
  • 做网站带来的好处域名注册时间查询
  • 如何自己安装wordpress深圳百度seo培训
  • 制作相册视频长沙企业seo优化
  • wordpress 网站 seo免费发广告的软件