首页 > 其他分享 >exec函数族

exec函数族

时间:2023-02-08 21:26:08浏览次数:35  
标签:可执行文件 调用 const 函数 exec char 进程

exec函数族

  • 一般先创建一个子进程,再在子进程中调用exec函数族
  • 会根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,即在调用进程内部执行一个可执行文件
  • exec函数族执行成功后不会返回,因为调用进程的实体,包括代码段、数据段和堆栈都已经被新的内容取代,只留下进程ID等表面上的信息,只要调用失败是会返回-1
  • 如果在子进程中使用exec函数族,子进程后续代码都会被替换掉,都不会被执行
    #include <unistd.h>
        extern char **environ;
        int execl(const char *pathname, const char *arg, ...);
		参数:
		    path:需要指定的执行文件的绝对路径或名词
			arg:字符串,是可执行文件的参数列表,参数最后以NULL结束
		返回值:
		    只有调用失败才有返回值,返回-1,并且设置errno
			调用成公没有返回值
			
        int execlp(const char *file, const char *arg, ...);
		会到环境变量中查找指定的可执行文件,如果找到了就执行,找不到就执行失败
		参数:
		    file:需要执行的可执行文件的文件名
			arg:字符串,是可执行文件的参数列表,参数最后以NULL结束
		   

标签:可执行文件,调用,const,函数,exec,char,进程
From: https://www.cnblogs.com/xiaoqing-ing/p/17103327.html

相关文章

  • 递归函数
    就是函数自己调用自己举个例子,阶乘:packagemainimport"fmt"//3!=3*2*1=3*2!//4!=4*3*2*1=4*3!//5!=5*4*3*2*1=5*4!funcf1(nint)int{ifn......
  • 构造函数
    返回一个结构体变量的函数这是一种面向对象的编程方法,go语言不是面向对象的编程语言它是面向接口的编程语言,但是可以通过结构体和函数来实现面向对象的功能简单的例子,定......
  • 学生管理系统函数版
    packagemainimport("fmt""os")/*函数版学生管理系统写一个系统能够查看、新增学生、删除学生*/typestudentstruct{//创建一个学生对象name......
  • 学生管理系统构造函数版
    packagemainimport("fmt""os")typestudentstruct{namestringidint64}typestudenMgrstruct{allStudentmap[int64]student}funcnewS......
  • 函数
    很重要go语言中用的最多的就是函数定义一个标准函数func函数名(函数传参变量)(函数返回值变量){函数体return返回值}定义一个求和的函数packagemainimpo......
  • C语言填空:函数递归应用
    #include<stdio.h>//数列的第12项值为1,此后各项值均为该项前二项之和,计算数列第30项的值intf(intn);main(){printf("%d",【1】);getchar();}intf(i......
  • 字符串与内存函数(2)
     本篇文章和大家继续分享一些与字符串和内存操作相关的函数,本次分享的函数包含有strerror函数,memcpy函数,memmove函数以及memcmp函数和memset函数。以上几个函数就是我们本......
  • 库函数的模拟实现
    1.1模拟实现strlen注意:参数指向的字符串必须要以'\0'结束。函数的返回值为size_t,是无符号的。1.2代码如下:三种方式:方式1://计数器方式intmy_strlen(constchar*str){in......
  • 1.5函数的调用机制
        哪怕是高级语言编写的程序,函数调用处理也是通过把程序计数器的值设定成函数的存储地址来实现的。不过,这和条件分支、循环的机制有所不同,因此单纯的跳转指令无法......
  • C语言填空:10进制转2进制输出函数
    #include<stdio.h>//将10进制正整数转化为二进制voiddec2bin(intm){intbin[32],j;for(j=0;【1】;j++){bin[j]=【2】;m=【3】;......