8.4.3 执行命令
fork和sleep 当用户向shell中输入一行命令时,shell同时创建(衍生)一个子进程来执行这条命令。当子进程执行该命令期间,父进程转入睡眠状态。当某个进程睡眠时,它并不占用任何计算机时间,但是它还保持非活跃状态,等待被唤醒。当子进程的命令执行完毕之后,它将通过其退出状态通知其父进程自己执行成功或者失败,然后消逝。父进程(正在运行shell的进程)被唤醒,然后提示用户输入另外一个命令。
后台进程 当通过在命令结尾处加上“逻辑与”符号(&)将进程置于后台运行时,shell创建一个子进程,但是shell并不进入睡眠状态,也不用等待子进程去运行完毕。执行shell的父进程报告作业编号和子进程的PID编号,并提示输入另一个命令。子进程在后台执行,独立于它的父进程。
内置命令 尽管大多数时候,在用户输入命令后,shell会创建一个新的进程来运行该命令。但是有些命令是shell的内置命令。shell运行内置命令时,并不需要创建新的进程。参见第5.5节以获取更多信息。
变量 在给定进程内,比如用户的登录shell或者子shell,用户可以声明、初始化、读取和改变变量。然而在默认情况下,变量只适用于进程本地范围。当进程创建一个子进程时,父进程并不会将变量的值传递给它的子进程。使用bash下的export内置命令或者tcsh下的setenv内置命令可使这些变量也可以被子进程访问(此时为全局变量)。
| 回书目 上一节 下一节 |
|
· 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. · 系统分析师自测获奖名.. |
· Linux结课考试自测获奖.. · 上周Linux系统命令的使.. · 上周真题冲刺测试获奖.. · 全国计算机等考四级模.. · 08年3月各大网上书店及.. · 网络工程师模拟测试获.. |
|
||||
| · 勇闯IT培训黑色围城 · IPv6协议--拓展网络无.. · 了解统一威胁管理(UTM).. · 调查:十大发现 解秘技.. · 技术人求职简历完备手册 · Vista SP1对决XP SP3 · 运营商封堵ADSL共享 中.. · LAMP技术精解 |
· PHP开发应用手册 · 解析35岁技术人的价值.. · 汶川大地震 IT技术人在.. · SOA 面向服务架构 · 龙芯要做中国的“奔腾” · 微软出价446亿美元收购.. · 网管员如何踏上高薪之路 · 主流品牌防火墙配置 |
|||
|
||||
| · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 |
· Apache技术专题 · 国际文档格式标准开战 · 路由器设置与口令恢复 · 打造安全服务器 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · ADSL应用面面俱到 |
|||
|
||||
| · iSCSI应用与发展 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · iSCSI应用与发展 · 三层交换技术专题 · Apache技术专题 |
· RAID——磁盘阵列基础 · 企业数据恢复指南 · 路由器设置与口令恢复 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · ADSL应用面面俱到 · ADSL应用面面俱到 · 反垃圾邮件技术应用 |
|||