ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

退出进程 替换接口

2021-03-30 21:51:09  阅读:111  来源: 互联网

标签:程序 接口 exit 进程 替换 库函数


退出进程:

1.main函数中return;2.
2.库函数exit;
3.系统调用接口_exit;

perror:

strerror:

获取系统错误原因;

替换:

加载一个新的程序到内存中,更新当前进程的页表映射信息到新的程序上,初始化页表,初始化虚拟地址空间。
希望子进程能完成一个新的任务。多进程更加稳定。

替换接口:

系统调用接口:execve

库函数:execl/execlp/execle/execv/execvp

l和v:参数赋予方式不同,l是一个一个的赋予,v是一个参数数组
p:是否需要带路劲,有p不带路径;
echo $PATH 打印的路劲下的不用带路径;
e:是否自己设置环境变量,有要设置,无,默认

.
.

从零开始写一个minishell:

思路:
shell:命令行解释器
1.捕捉键盘输入;
2.解析输入信息-命令名称-运行参数
创建子进程
让子进程执行对应的名称的程序(程序替换)
子进程替换失败必须退出,成功运行完命令程序会自动退出
进行子进程等待;防止僵尸进程;(waitpid)

标签:程序,接口,exit,进程,替换,库函数
来源: https://blog.51cto.com/14982125/2677876

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有