退出进程:

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)

©著作权归作者所有:来自51CTO博客作者赶路人丶的原创作品,如需转载,请注明出处,否则将追究法律责任

萌新成长

赞赏

0人进行了赞赏支持

更多相关文章

  1. php守护进程创建和简要分析
  2. 进程终止,环境表以及在内存中布局和非局部跳转
  3. Linux运维入门教程06-02 (系统的初始化和服务)
  4. Cassandra排查 | 记一次Cassandra Java堆外内存排查经历
  5. 想用Python爬小姐姐图片?那你得先搞定分布式进程
  6. 进程间通信
  7. shell变量的删除、替换和替代
  8. ORA-29770: global enqueue process LMS hang for 70
  9. mysql数据库常见报错及解决方法

随机推荐

  1. linux包之nc之nc命令
  2. 【Linux】鸟哥的Linux私房菜基础学习篇整
  3. linux利用CMakeLists编译cuda程序
  4. linux内核日志 dmesg 出现的提示及含意
  5. Linux 配置账户锁定策略
  6. linux内核分析——扒开系统调用的三层皮(
  7. Ubuntu 安装XAMPP集成环境软件包 与 运行
  8. 深入理解linux的权限设置和SUID,SGID
  9. Wind River阔步走向Linux
  10. 灯液未泱-mysql初学安装(一)