exec函数族

2023-11-06

前言

exec函数族提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新的进程替换了。另外,这里的可执行文件既可以是二进制文件,也可以是Linux下任何可执行的脚本文件 ----《百度百科》
这也是在linux的世界中,其实就是由一个init进程创建,之后通过fork进行克隆之后,再由exec函数族替换来形成的一个体系

作用

在一个进程没有作用的时候,可以用exec函数族来代替这个函数,从而实现一次“重生”,或者在使用fork的时候来重新定义

int execl(const char *path, const char *arg, ...);
功能:该函数可以用于启动一个指定路径+名称的程序。
参数: path 要启动的程序的路径+名称,一般是绝对路径。
       arg  要启动的
int execlp(const char *file, const char *arg, ...);
功能:该函数可以启动指定的程序。
参数:file 要启动的程序名称,同时该程序要位于系统环境变PATH范围内 。
	  arg  ...  启动程序的参数,参考 execl 一样
返回值:成功  不会返回
		失败   -1

可以通过暂时改变环境变量来实现

 int setenv(const char *name, const char *value, int overwrite);
name: 环境变量名字“PATH”
value:要修改的环境变量“。。”,(表示将上层目录写到环境变量中)
overwrite:是否重写,填1表示重写
nt execv(const char *path, char *const argv[]);
功能:该函数可以将指定路径+名称的程序启动执行。
参数:path 要启动的程序路径+名称
	  argv[] 要启动的目标程序参数所构成的数组;
返回值:成功 不会返回,会转嫁到目标程序
		失败  -1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

exec函数族 的相关文章

随机推荐

  • 突发奇想-基于重力感应的人体姿态控制型无人机

    基于重力感应的人体姿态控制型无人机 初级阶段目标 短距离重力感应控制 遥控器重力模块直接连接控制 手持遥控器不平稳问题 最终目标 控制系统迁移至人体 进行直接姿态操作 重力感应 压电效应 当晶体受到固定方向外力作用时 内部产生电极化现象 同
  • [YOLO专题-28]:YOLO V5 代码管理 - 如何与官网协同开发自己的项目代码

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122519479 目录 前言
  • C++数组练习题(一)

    在刚开始学习c 的时候刷了很多基础题 这些基础题比较适合初学C 的码友 所以在学完就立即进行了整理 一是为了让初学C 的码友有所参考 二也是为了复习一下所学过知识 但因为当时在整理时 时间有点紧促 可能会出现一些小错误 于是利用五一假期对之
  • Tensorflow:数据特征值的自变量为离散值

    import pandas as pd from sklearn utils import shuffle dataSet pd read csv input mushrooms csv mapPto1Eto0 p 1 e 0 dataSe
  • vite详解

    vite详解 卖菜的小白的博客 CSDN博客 vite 一 认识vite webpack是目前整个前端使用最多的构建工具 但是除了webpack之后也存在其他一些构建工具 比如说rollup parcel gulp vite等等 vite的
  • Twitter开发者账号申请流程

    文章转自 https www jianshu com p cfb741dd52dd 这篇文章主要介绍在最新的推特开发者平台申请账号的流程 首先需要有一个推特账号 其次该推特账号必须是首次申请 因为推特开发者一个账号只能申请一次 申请后被拒绝
  • 【Streamlit学习心得】个人项目实战,并部署在Streamlit Cloud,生成一个公网url随时访问

    Streamlit学习心得 个人项目实战 并部署在Streamlit Cloud 生成一个公网url随时访问 目录 Streamlit学习心得 个人项目实战 并部署在Streamlit Cloud 生成一个公网url随时访问 前言 一 全局
  • TCP的连接

    一 套接字 1 每一条TCP连接有两个端点 TCP连接的端点叫做套接字 socket 或插口 2 套接字 socket IP地址 端口 例如 套接字 socket 192 168 170 1 80 二 TCP连接 1 建立连接时的三次 握手
  • GPU RayTracing

    参考自 https github com Ubpa ToyRTX 使用三种Texture 记录场景数据 1 SceneData 2 MatData 3 PackData 数据 https docs qq com sheet DQ2FqdE1
  • 秋招准备之——MySQL复习

    秋招复习笔记系列目录 不断更新中 1 数据结构全系列 2 计算机网络知识整理 一 3 计算机网络知识整理 二 4 Java虚拟机知识整理 5 计算机操作系统 6 深入理解HashMap 7 深入理解ConcurrentHashMap 8 M
  • TCP协议格式和特点

    文章目录 1 协议格式 2 协议特性 2 1 面向链接 2 1 1三次握手建立连接 2 1 1四次挥手断开连接 相关问题和知识点 1 握手为啥三次 挥手是四次 2 三次握手失败两端是如何处理的 3 SYN泛洪攻击是怎么回事 4 一台主机上出
  • heun 方法 matlab代码_MATLAB中代码优化的两种方法

    MATLAB中的代码优化 MATLAB中的代码优化有两种重要的方法 预分配组和向量化循环 我们举一个简单的例子来看 创建一个MATLAB函数来计算f x sin x 100 function y sinfun1 M x 0 M 1 for
  • windows:NGINX配置nginx.conf不生效的解决方法

    问题 如标题 参考 Windows系统下NGINX配置nginx conf不生效的解决方法 51CTO博客 nginx 配置不生效 解决办法 运行命令 taskkill IM nginx exe F 来关闭这些进程 之后重新启动nginx
  • Flask项目(四)房屋列表页、订单、对接支付宝、数据库优化

    Flask项目 房屋列表页 订单 对接支付宝 数据库优化 房屋列表页 from import api from flask import g current app jsonify request session from ihome ut
  • 【数据库】表的内外连接(重点)

    文章目录 表的内连接和外连接 1 内连接 2 外连接 2 1 左外连接 2 2 右外连接 表的内连接和外连接 表的连接分为内连和外连 1 内连接 内连接实际上就是利用where子句对两种表形成的笛卡尔积进行筛选 前面几个博客的查询都是内链接
  • C++11多线程---互斥量mutex、锁lock、条件变量std::condition_variable

    目录 一 lock guard lock 1 直接操作mutex的lock unlock函数 2 使用 lock guard unique lock 自动加锁 解锁 类似智能指针 3 unique lock和lock guard区别 二 条
  • postman——基础操作——API授权

    当发送请求时 通常会包括参数 用以确保请求能够访问和范湖所需的数据 postman提供了授权类型 能在postman中处理身份验证问题 参考网址 https learning getpostman com docs postman send
  • 上传文件sftp和base 64上传的优缺点?

    上传文件时 SFTP和Base64编码都是常见的方式 它们具有各自的优缺点 SFTP SSH File Transfer Protocol 上传的优缺点 优点 安全性高 SFTP通过SSH协议进行传输 数据在传输过程中会进行加密 提供了较高
  • APP性能优化系列:内存优化-内存泄露详解

    转自http blog csdn net a910626 article details 50849760 一 内存泄露概念 在java中 如果一个对象没有可用价值了 但又被其他引用所指向 那么这个对象对于gc来说就不是一个垃圾 所以不会对
  • exec函数族

    前言 exec函数族提供了一个在进程中启动另一个程序执行的方法 它可以根据指定的文件名或目录名找到可执行文件 并用它来取代原调用进程的数据段 代码段和堆栈段 在执行完之后 原调用进程的内容除了进程号外 其他全部被新的进程替换了 另外 这里的