bash启动过程

用户登录过程剖析 Bash
Bash 用户在登录成功后,login启动/etc/passwd文件中用户指定的SHELL,通常是Bash,Bash相应的配置文件和启动过程如下图

说明:Bash有几种启动方式:
1.交互式登录:即是在登录过程中由登录进程创建的Bash子进程,如login进程启动的Bash,ssh登录时,sshd创建的子进程。
2.非登录的交互式:如在图形界面中,启动的终端。
3.非交互式:如运行脚本。
对于图中的文件的权限是登录用户可读。在系统终端的登录中,bash是使用第一种启动方式。

总结 至此用户登录结束,用户进入交互式终端。总之用户要进入终端对系统进行操作,其过程由内核启动,init进程fork产生getty等待用户登录,用户在登录时候getty使用login进程(exec调用)替代自己,成功后login创建Bash子进程,用户进入终端界面。其中每一个程序都有自己的配置文件,设置环境变量等,如在login过程中可以设置环境变量LANG,Bash中也可以设置,且结果是,后面设置的取代前面的。Login设置的是全局的环境变量,Bash可以是全局的在/etc/下的配置文件,也可以在用户的home目录下设置用户的环境变量。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值