linux shell脚本文件执行分析

本文详细分析了Linux Shell脚本的执行过程,包括父子进程的关系、内部命令与外部命令的区别、管道与脚本执行的关系,以及如何查看命令是否为内建命令。通过实例展示了在不同情况下,shell如何派生子进程执行脚本和命令,以及执行环境的影响。
摘要由CSDN通过智能技术生成

原创,转载注明出处


一.shell脚本父子进程分析

 

代码:

#!/bin/bash
echo $$
ps -ef |grep `echo $$`
echo "-------------------------------------"
( pwd;echo $$;ps -ef |grep `echo $$`;)
echo "-------------------------------------"
{ pwd;echo $$;ps -ef |grep `echo $$`; }

运行结果1

 

结果分析1

1.      最后一行显示当前登录shell进程ID为9561;

2.      第三行显示登录shell派生出一个进程ID为10767的shell执行进程;该进程负责扫描shell脚本进行执行;

3.      10767脚本执行进程负责逐行执行脚本:遇到内置命令直接在当10767进程中执行,遇到可执行程序就fork 新的子进进程来执行。

4.      进程号为 10768和10769的进程都是执行shell 10767进程派生的子进程ps 和grep .

5.      10767脚本执行进程扫描到( com1;com2;) 语句群时,会再派生一个ID10771shell负责执行()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值