退出进程 替换接口
16lz
2021-03-30
退出进程:
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:
©著作权归作者所有:来自51CTO博客作者赶路人丶的原创作品,如需转载,请注明出处,否则将追究法律责任思路:
shell:命令行解释器
1.捕捉键盘输入;
2.解析输入信息-命令名称-运行参数
创建子进程
让子进程执行对应的名称的程序(程序替换)
子进程替换失败必须退出,成功运行完命令程序会自动退出
进行子进程等待;防止僵尸进程;(waitpid)
萌新成长
赞赏
0人进行了赞赏支持
更多相关文章
- php守护进程创建和简要分析
- 进程终止,环境表以及在内存中布局和非局部跳转
- Linux运维入门教程06-02 (系统的初始化和服务)
- Cassandra排查 | 记一次Cassandra Java堆外内存排查经历
- 想用Python爬小姐姐图片?那你得先搞定分布式进程
- 进程间通信
- shell变量的删除、替换和替代
- ORA-29770: global enqueue process LMS hang for 70
- mysql数据库常见报错及解决方法