企业网站建设教程短网址生成器免费

张小明 2025/12/31 23:05:05
企业网站建设教程,短网址生成器免费,西安市建网站找哪家,高端网站建站 北京Linux进程管理实战#xff1a;回收机制、exec族函数与路径操作 一、exec族函数#xff1a;程序替换 1. 功能与原理 exec族函数的核心作用是程序替换#xff1a;在当前进程空间中#xff0c;用新程序的代码段、数据段替换原有程序#xff0c;新程序执行完毕后#xff0c;进…Linux进程管理实战回收机制、exec族函数与路径操作一、exec族函数程序替换1. 功能与原理exec族函数的核心作用是程序替换在当前进程空间中用新程序的代码段、数据段替换原有程序新程序执行完毕后进程直接退出不会返回原程序。通常与fork搭配使用父进程创建子进程子进程执行exec替换程序。2. exec族函数对比exec族包含6个函数核心差异在于参数传递方式和程序路径查找方式规律如下llist参数逐个列出以NULL结尾vvector参数存储在数组中数组末尾以NULL结束ppath程序名无需完整路径依赖系统PATH环境变量查找eenv自定义环境变量本文重点讲解前4个常用函数函数原型特点示例execl(const char *path, const char *arg, ...)完整路径参数列表execl(/usr/bin/ls, ls, -l, NULL)execlp(const char *file, const char *arg, ...)程序名PATH查找参数列表execlp(ls, ls, -l, NULL)execv(const char *path, char *const argv[])完整路径参数数组char *argv[] {ls, -l, NULL}; execv(/usr/bin/ls, argv)execvp(const char *file, char *const argv[])程序名PATH查找参数数组char *argv[] {ls, -l, NULL}; execvp(ls, argv)3. 实战代码解析示例1execl执行系统命令17execl.c#include#include.hintmain(){// 执行firefox打开谷歌浏览器完整路径execl(/usr/bin/firefox,firefox,https://www.google.com,NULL);perror(execl);// 若执行到此处说明execl失败return0;}关键说明第一个参数必须是程序完整路径/usr/bin/firefox后续参数是程序运行参数最后必须以NULL结尾若execl执行成功不会返回原程序perror不会执行示例2execlp执行系统命令18execlp.c#include#include.hintmain(intargc,char*argv[]){// 无需完整路径依赖PATH环境变量查找firefoxexeclp(firefox,firefox,www.baidu.com,NULL);printf(看见就错了\n);// 执行到此处说明execlp失败return0;}核心优势无需记忆程序完整路径更简洁灵活示例3execv执行自定义程序19execv.c#includeintmain(intargc,char*argv[]){// 执行自定义程序aaa传递参数11、22、33、4execl(/home/linux/20251215/aaa,aaa,11,22,33,4,NULL);printf(看见就错了\n);// 执行失败时输出return0;}注意事项自定义程序需提前编译如gcc 2.c -o aaa第一个参数为程序完整路径示例4execvp执行系统命令20execvp.c#include#includeintmain(intargc,char*argv[]){char*argv[]{ls,-al,/bin,--color,NULL};// 程序名参数数组PATH查找lsexecvp(ls,argv);perror(execvp);return0;}适用场景参数数量不确定时用数组存储更灵活二、system函数执行Shell命令1. 函数原型与原理#includeintsystem(constchar*command);功能执行Shell命令内部实现为forkexecwaitpid限制不能执行修改父进程状态的命令如cd仅适用于信息输出、文件操作等无状态命令返回值成功返回命令退出状态失败返回-12. 实战代码22system.c#includestdio.h#includestdlib.hintmain(intargc,char*argv[]){system(ps aux);// 执行进程查看命令system(cd /home/linux);// 此命令不影响父进程工作路径printf(aaa\n);return0;}关键注意system(cd /home/linux)仅在子进程中切换路径父进程路径不变命令执行结果直接输出到终端无需手动处理IO三、工作路径操作getcwd与chdir1. 获取当前工作路径getcwd#include.hchar*getcwd(char*buf,size_tsize);功能获取当前进程的工作路径参数buf存储路径的字符数组size数组最大长度建议预留1字节给结束符\0返回值成功返回buf指针失败返回NULL2. 切换工作路径chdir#includeintchdir(constchar*path);功能切换当前进程的工作路径参数path为目标路径绝对路径或相对路径返回值成功返回0失败返回-13. 实战代码23getcwd.c#includestdio.h#includeunistd.hintmain(){charpath[1024]{0};// 获取初始工作路径getcwd(path,sizeof(path)-1);printf(path is %s\n,path);// 输出path is /home/linux/20251215// 切换到上级目录chdir(../);getcwd(path,sizeof(path)-1);printf(path is %s\n,path);// 输出path is /home/linux// 在新路径下创建文件FILE*fpfopen(aaa,w);// 文件创建在/home/linux目录下return0;}核心应用文件操作时需先确认或切换工作路径避免文件路径错误
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

深圳网站建设 百业兰州百度网站建设

SolidWorks作为主流的三维CAD软件,其核心优势在于将二维设计思维升级为三维数字化建模,并通过参数化、全相关的设计逻辑实现从概念到制造的全流程贯通。以下从设计思维转变、核心技术逻辑、全流程解析、高级应用四个维度,深度解析SolidWorks二…

张小明 2025/12/31 16:57:44 网站建设

网站开发软件网站开发网址大全123官方网站

B站视频下载终极指南:免费批量下载工具完整使用教程 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/…

张小明 2025/12/31 16:57:46 网站建设

站长之家ip查询工具网页封装网站怎么做的接口

C# 语言中的 LINQ 与数组排序算法 1. C# 中的 LINQ 特性 C# 语言的一个强大特性是能够使用 LINQ(Language Integrated Query)。借助 LINQ 机制,可以以一致的方式从各种集合、结构化查询语言(SQL)数据库以及可扩展标记语言(XML)文档中获取数据。若想了解更多关于 LINQ …

张小明 2025/12/31 16:57:45 网站建设

台州优化网站做一个网站要多长时间

5分钟搞定游戏自动化:Alas脚本新手极速上手指南 【免费下载链接】AzurLaneAutoScript Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneAutoScript 还在为每天重复刷…

张小明 2025/12/31 16:57:46 网站建设

devexpress 网站开发网站设计包括

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 在人才市场中&…

张小明 2025/12/31 16:57:47 网站建设