LINUX/UNIX中的进程层次中的shell登录过程

本文介绍了Linux系统启动和登录的流程。启动时,LILO加载内核到内存,初始化硬件和内核数据结构,执行初始化进程,开启守护进程,初始化文件系统。登录时,getty进程提示输入登录名和密码,验证通过后派生登录shell,可按Ctrl+D终止shell回到登录提示。

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

当你启动LINUX 系统后,LILO(LINUX多重引导加载程序)找到LINUX 内核并将其加载到内存中.它对硬件组件进行初始化.然后LILO进 程切换到保护模式,加载操作系统,并执行代码.这些代码对各种内核数据结构进行初始化,LILO 进程的PID为0,它现在开始执行初始化 进程 (初始化进程PID为1),初始化 进程 执行启动进程中的其他部分.初始化 进程开启守护进程kflushd(PID 2),kupdate(PID 3),kpiod(PID 4),kswapd(PID 5), 然后初始化 进程 初始化 文件系统并装载根文件系统,接着,初始化 进程 尝试执行/sbin/init程序,该程序在每一个活动终端上运行minigetty 进程 (getty 进程 ).getty 进程 设置终端属性,然后显示登录:邀请你登录系统的提示.
   在登录提示符这里,当你键入登录名并按下回车,getty 进程 派生出一个子进程,这个子进程 使用了exec调用,也就成为了一个将登录名作为其参数的登录进程 ,登录进程 提示你输入密码并检查登录名和密码的合法性,如果它发现二者都是正确的,该进程 会派生出一个子进程 ,这个子进程 成为登录shell.如果登录进程 在文件/etc/passwd中没有找到你的登录名,或者发现你输入的密码与/etc/passwd 或/etc/shadow文件中的密码不匹配,它会显示一个错误消息并终止.控制回到getty 进程 ,再次显示登录提示符.
  一旦登录到shell中,你就可以用shell工作了 .还可以按下Ctrl+D终止shell.如果你这样做,shell进程就会终止,并回到getty进程控制下,再次显示登录提示符.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值