shell的执行过程
来源:互联网 发布:什么是云计算概念 编辑:程序博客网 时间:2024/06/10 12:33
1.shell命令分为内置命令和外部命令。
内置命令是shell解释程序内建的,由shell直接执行,不需要派生新的进程
外部命令分为二进制代码和shell脚本。
2.
(1)为了执行外部的二进制命令,需要一种机制,以允许子进程转换为将要被执行的命令。Unix/Linux调用exec可以做到这些。它允许一个进程用其他命令的可执行代码覆盖自己。二进制代码需要由磁盘装入内存中执行。shell解释程序会调用fork自身的一个拷贝,然后用exec系列函数来执行外部命令,这样外部命令就取代了当前的fork的子shell.
(2)shell脚本的执行与二进制文件略有不同。对于shell脚本来说,shell解释程序会fork一个子shell程序,子shell程序会检查脚本的第一行(如#!/bin/bahs),找到用来执行脚本的解释程序,然后装入这个解释程序,由它执行脚本程序。在此解释程序显然是当前shell的子进程。如果这个解释程序与当前使用的shell是同一种shell,比如都是bash,它就是当前shell的子shell,脚本中的命令都是在子shell环境中执行的,不会影响当前shell的环境。
http://blog.chinaunix.net/uid-20006382-id-1987694.html
http://www.linuxidc.com/Linux/2013-03/81031.htm
- shell的执行过程
- bash shell的执行过程
- redhat 启动时的shell执行过程
- shell执行过程简介
- shell执行过程
- shell脚本执行过程
- shell script执行过程
- Shell脚本调试方法 Shell脚本执行的过程
- shell 循环执行存储过程
- SHELL编程之执行过程
- shell脚本执行过程分析
- UNIX Shell命令行的解释执行过程最终解读
- informix shell 定时执行数据库的存储过程
- 分析源代码编译链接过程和shell中ELF格式可执行文件的初始化执行过程
- shell命令的执行
- shell 脚本的执行
- shell的执行问题
- shell script 的执行
- Android有效解决加载大图片时内存溢出的问题
- Java多线程设计wait、notify、notifyall、synchronized的使用机制
- TestComplete资源列表
- 字符串操作函数记录
- LoadRunner 常见问题解决
- shell的执行过程
- Objective-C中一种消息处理方法performSelector: withObject:
- Struts2配置及国际化配置
- Android有效解决加载大图片时内存溢出的问题
- Failed to load JavaHL Library. These are the errors that were encountered: n
- android通过ksoap2和axis调用web service
- 在android4.2中添加自己的intent事件并使用
- 带有验证的soap webservice
- firefox在linux中的安装