
rc.local在在系统启动后执行,在用户登陆前执行
rc.local脚本是一个在各运行级别里到rc.d目录的rc.local脚本的软链接,编号最大,所以被rc脚本执行时在各运行级别的初始化末尾进行。
在rc.local里设置是系统级别而非用户级别,因为启动脚本的初始化与用户无关(启动脚本初始化完成后,才进入用户登录界面)。与用户相关的设置shell的配置文件如: ~/.bash_profile。
Ctrl + C 不是万能的。这个是由系统启动过程进行调用的。
只有当前正在运行中,且处于当前 CLI 交互状态的程序才能收到 Ctrl + C 。而且还需要这个程序确实可以响应 Ctrl + C 。
----------------------
这和平台无关,要看你具体如何启动这个程序的。
rc.X 里面的程序,应该有 start-stop-daemon 来控制。这个程序是不能提供 Ctrl + C 方式中断运行所运行的程序的,他会跟踪被运行的程序。一般情况下,他如果发现程序挂掉,他会重新启动程序。
---------------------
检查你的启动相关程序、脚本吧。嵌入式很有可能使用了不同的软件导致功能差异。
Linux开机启动程序详解我们假设大家已经熟悉其它 *** 作系统的引导过程,了解硬件的自检引导步骤,就只从Linux *** 作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤。
加载内核
LILO启动之后,如果你选择了Linux作为准备引导的 *** 作系统,第一个被加载的东西就是内核。请记住此时的计算机内存中还不存在任何 *** 作系统,PC(因为它们天然的设计缺陷)也还没有办法存取机器上全部的内存。因此,内核就必须完整地加载到可用RAM的第一个兆字节之内。为了实现这个目的,内核是被压缩了的。这个文件的头部包含着必要的代码,先设置CPU进入安全模式(以此解除内存限制),再对内核的剩余部分进行解压缩。
执行内核
内核在内存中解压缩之后,就可以开始运行了。此时的内核只知道它本身内建的各种功能,也就是说被编译为模块的内核部分还不能使用。最基本的是,内核必须有足够的代码设置自己的虚拟内存子系统和根文件系统(通常就是ext2文件系统)。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统之后,将启动并运行一个叫做init的程序。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)