您的位置:首页 > 其它

busybox关机执行指定命令

2011-05-23 22:19 435 查看
这里主要是修改inittab

讲这个文件前呢,就要先知道,内核启动后会执行第一个init进程,这是所有进程的父进程,它会执行inittab,也就是说这是初始化的一个配置。

讲之前先抄下别人的文章解析一下

自定义Linux的启动与关闭过程(内置inittab详解)
对Linux系统的启动和关闭过程进行管理是系统管理员的必备技能之一。管理员必须要清楚系统中运行着哪些服务,如何增加新的服务,如何删除不必要的服务。本节向Linux管理员介绍自定义启动和关闭系统时涉及的文件。
一、 引导过程概览
当一个Linux系统引导后,Linux启动管理器(LILO)加载核心,核心首先被解压缩,显示设备被初始化,然后核心开始对系统中的硬件进行检查。当
发现硬件设备后,调入相应的模块以支持对硬件的访问。硬件检测完毕后,核心将以只读方式挂接根文件系统。假如根文件系统是完整的,根文件系统将以读写方式
重新挂接。
之后,核心将执行一个叫init的程序。Init执行后,系统就启动并开始运行。可以对Init进程进行配置,这可以通过/etc/inittab文件来完成。
/etc/inittab文件的语法格式如下:
id:run-level:acion:process [argument]
● 第一项是一个惟一的标志,用以区分inittab文件中不同条目。
● 第二项指定了该条目在哪种运行等级中应用。
● 第三项指定了采取的动作。
● 第四项是要运行的进程和其参数,可以在这里指定命令行参数Linux系统的运行等级是通过run-level指定的。在Linux系统中有7个运行等级:
● 0——挂起(不要将initdefault设置为此项)。
● 1——单用户模式。
● 2——多用户,没有连网的支持。
● 3——完全的多用户模式,具有连网的支持。
● 4——没有使用。
● 5——X11,多用户模式与网络支持。
● 6——重新启动(不要将initdefault的值设置为此项)。
在init配置这一行中,你可以指定多个运行状态。指定运行状态1和3下应用某操作的配置如下:
id:12:action:rocess [argument]
下面列出了系统运行状态可以使用的动作:
● respawn——当该进程终止时自动启动。
● wait——该进程只运行1次,init等待该进程,直到该进程结束。
● once——该进程只运行1次。
● boot——该进程在系统启动时运行,不考虑系统的运行等级。
● bootwait——该进程在系统启动时运行,init等待该进程,直到该进程结束。
● off——不采取任何动作。用来使一条配置失效,而不用删除该条配置。可以代替表示注释的#号
● ondemand——通常没有使通常不使用。
● initdefault——指定系统的默认运行等级。运行的进程一列被忽略。
● sysinit——该进程在系统启动时运行一次。Sysinit的动作要比boot和bootwait的优先级高。
● powerwait——init进程收到SIGPWR信号下运行的进程。UPS电源在电源发生问题时会向该进程发送SIGPWR信号。Init进程会等待该进程,直到该进程终止。
● powerfail——同powerwait相同。但是init不会等待进程的终止。
● powerokwait——当init进程收到SIGPWR信号,并且/etc/powerstatus文件包括有OK的文本内容。/etc/powerstatus文件通常由UPS监视软件创建,用来显示电源问题已经解决。
● ctrlaltdel——当init进程收到SIGINT信号时做的动作。
● kbrequest——当init进程收到键盘信号时做的动作。

-------------------------------------------------------

看回inittab

# /etc/inittab
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::once:/usr/sbin/telnetd -l /bin/login
::ctrlaltdel:/sbin/reboot
::shutdown:/usr/bin/preshutdown

其中最后一行是加上去的,也就是当执行关机或者重启会调用preshutdown,这是自己写的脚本,这样就可以实现在关机前执行自定义脚本
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐