(1)Shell 脚本的执行进程

本文分析了Shell脚本的执行流程,详细讲解了login-shell如何派生非交互式shell执行脚本,以及脚本执行过程中子进程的创建。通过案例说明了内部命令、外部命令及脚本执行时是否派生子shell,并指出使用source或.命令执行脚本会直接影响当前shell环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 当前login-shell的进程PID.
root@37C:~# echo $$
3016
# 测试脚本:
root@37C:~# cat run.sh
#!/bin/bash 
# 获取执行shell脚本的非交互shell的PID.
echo $$
######
echo "test1:-------------------------"
ps -ef | grep `echo $$`
echo "test2:()-----------------------"
( pwd;echo $$; ps -ef|grep `echo $$`; )
echo "test3:{}-----------------------"
{ pwd; echo $$; ps -ef | grep `echo $$`; }
# 脚本执行结果:
root@37C:~# ./run.sh 
# 或者
root@37C:~# bash run.sh 

11299
test1:-----------------------
root     11299  3016  0 15:26 pts/4    00:00:00 /bin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值