Execle 函数|学习笔记

简介: 快速学习 Execle 函数

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频:Execle 函数】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/10999


Execle 函数

 

Execle 函数

int execle(const char *pathename,

const char *arg0,***,NULL

char *const envp[]);

这个函数是它既可以启动指定的可执行程序,要想指定参数中传参。后面的多了一个数组,这个数组就是execle函数中最后的e代表的意思,是environment的意思。

这个函数比execl,能够通过指针数组增加参数来改变当前进程的环境变量,运行一个程序是可以看到许多环境变量的。

获得环境变量的代码:

#include

#include

int main(int argc, char *argv[])

{

char  *p;

p=getenv(“USER”);

If (p!=NULL)

printf(“USER=%s\n”,p);

p=getenv(“GONGSI”);

if(p!=NULL)

printf(“GONGSI=%s\n”,p);

return 0;

}

执行gcc test.c -o test

ls

execl execl.c  execlp  execlp.c  tags  test  test.c

在 test 里面获取到的环境变量 ,输入语句./test,运行,

结果如下:结果只显示 edu。

image.gif就要启动当下的路径中 test 名字,没有参数,就要将参数删掉,用exec启动参数,在程序中获得进程的环境变量

代码示例:

#include

#include

Int main(int argc,char *argv[])

{

execlp(“./test”,“test” NULL);

printf(“after execlp\n”);

return 0;

}

运行结果:

输入语句 gcc execl.c -o execl

clear

之后输入./execl启动,打印结果如下图,

image.gif在输入 : cp execl.c execle.c

修改代码为:

把环境变量进行修改,在test中获得环境变量就能够实现

#include

#include

Int main(int argc,char *argv[])

{

char *p[]={“USER=xiutao”,”GONGSI=qf”};

execle(“./test”,“test”, NULL,p);

printf(“after execlp\n”);

return 0;

}

输入语句: gcc execl.e c -o execl

./execle

运行结果为:

环境变量如下,通过 execle 启动 test 程序时就会大环境变量修改。也就是说 execle 比 execl 多在就是可以修改环境变量,其余的内容和 execl 一样的。

image.gif

注意:

一旦设置了环境变量,“USER=xiutao”,”GONGSI=qf”,那么其他的环境变量都没有的,可以在path下面查看。

把test.c写一下获取环境变量,再用execle去启动test,通过l启动是一种结果,通过le启动是另一个结果。这是因为le是可用修改当前进程的环境变量,而execl是改不了的。

相关文章
|
网络协议 Unix Linux
CentOS7下利用FRR路由套件实现OSPF动态路由组网
CentOS7下利用FRR路由套件实现OSPF动态路由组网
2335 0
CentOS7下利用FRR路由套件实现OSPF动态路由组网
|
6月前
|
人工智能 编解码 自然语言处理
阿里云视频生成模型HappyHorse活动:限时8折,720P每秒仅需0.72元起、1080P每秒1.28元起
阿里云新一代AI视频生成模型HappyHorse限时8折,720P每秒仅0.72元起、1080P每秒1.28元起,支持免费体验10秒。HappyHorse涵盖文生视频、图生视频、参考生视频与视频编辑四大能力,以电影级光影质感、运镜稳定、人物表情细腻著称,支持有声视频生成,适配广告电商、短漫剧、影视制作等场景。用户可通过阿里云百炼平台调用API或结合函数计算快速部署,以低成本实现从智能生成到精细编辑的全链路AI视频创作。
|
11月前
|
数据采集 人工智能 自然语言处理
AI导航网站全景解析:从工具聚合到技术赋能
2025年AI工具爆发,信息差仍存。本文盘点国内主流AI导航平台,如AI工具集、AI产品库、非猪AI等,解析其背后的数据采集、智能分类、个性化推荐技术,并展望空间智能、多模态交互与数字孪生驱动的未来演进方向,助力用户高效选型、开发者把握趋势。
1710 7
|
11月前
|
安全 Unix Linux
Debian安全扫描工具使用指南(手把手教你用开源工具检测Linux系统漏洞)
本文介绍多款实用的Debian安全扫描工具,帮助用户提升Linux系统安全。涵盖Lynis、OpenVAS、chkrootkit等开源工具的安装与使用,指导初学者进行漏洞检测、配置审计和恶意软件防护,并建议通过定时任务实现自动化扫描,构建多层次安全防御体系。
|
安全 Ubuntu iOS开发
Nessus Professional 10.9 Auto Installer for Windows
Nessus Professional 10.9 Auto Installer for Windows
462 0
Nessus Professional 10.9 Auto Installer for Windows
|
12月前
|
数据采集 传感器 运维
T-BOX怎么选不踩坑?2025年主流品牌评测与推荐指南
在工业设备智能网联化加速背景下,T-BOX选型成关键。本文基于实测与应用反馈,解析2025年主流品牌表现,聚焦树根科技T-BOX方案:硬件多型号适配、软硬一体协同、平台易用性强、全球合规认证齐全,助力企业实现设备远程管理、预防性维护与全球化部署,提供高性价比、低运维成本的数智化路径,是避免数据孤岛、提升资产效率的优选参考。
513 0
|
Linux
Debian下载ISO镜像的方法
步骤 1:访问Debian官方网站 打开你的网络浏览器,在地址栏中输入 https://www.debian.org/ 并回车,这将带你到Debian的官方网站。
3470 6
Debian下载ISO镜像的方法
|
测试技术 持续交付 开发工具
吞噬混沌:CodeBuddy与流程利刃,斩破游戏开发的蛮荒时代(二)
本文参加CodeBuddy「首席试玩官」大赛,探讨游戏开发流程规范与智能工具赋能。文章涵盖质量保障体系(每日构建、代码审查、测试会议)、开发工具链、紧急情况处理(热修复与回滚机制)及代码风格指南。重点介绍CodeBuddy在各环节的作用:优化构建、智能评审、加速修复、保障风格一致等。作为贯穿生命周期的智能助手,CodeBuddy连接工具链、提升效率、沉淀经验,助力团队实现高质量开发目标。未来游戏开发需结合规范与技术,CodeBuddy将成为不可或缺的智能向导。
817 7
|
安全 算法 Linux
Linux 服务器还有漏洞?建议使用 OpenVAS 日常检查!
在数字化时代,Linux 服务器的安全至关重要。OpenVAS 是一款优秀的开源漏洞扫描工具,可以帮助及时发现并修复服务器中的安全隐患。本文将介绍 OpenVAS 的主要功能、使用方法及应对漏洞的措施,帮助用户加强服务器安全管理,确保企业数字化安全。
702 7
|
Web App开发 移动开发 前端开发
多种方法实现Loading(加载)动画效果
当我们ajax提交一个按钮的时候,给那个按钮来个Loading效果会高端很多,体验也会上升个层次。 既能让用户知道正在提交中,也能防止二次提交,好处多多呢。
多种方法实现Loading(加载)动画效果