- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
debianlinux系统开机启动项管理
Debian linux系统开机启动项的管理
Table of Contents
1. 关于linux 的启动 2
1.1 linux的关键启动脚本 2
1.2 linux启动shell脚本的一般书写规则 3
1.3 开机启动的其他方法 4
1. 关于linux 的启动
1.1 linux的关键启动脚本
Linux的第一个进程是0号进程,一般认为0号进程创建了1号进程,1号进程建了所有的kernel进程,1号进程是所有进程的祖先。1号进程又称init进程,init进程是所有进程之父。
init读取/etc/inittab,以下是debian系统的inittab,init就是读取这个文件获取的第一个脚本,请注意里面的粗体字,会对您理解linux的运行有一定的帮助。
# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
# The default runlevel. 默认的运行等级 2 是多用户形式,这个数字也可以是1获其他的数字,关于运行等级,请见下文。在终端下,直接执行runlevel看到当前系统的默认运行等级。
id:2:initdefault:
# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode. 下面的命令是第一个执行的,除非是在紧急模式下启动。
可以看到,第一个运行的程序是/etc/init.d/rcS,也就是说rcS就是我们系统的初始化脚本。rcS是系统的初始化脚本,而在rcS文件中,直接执行了rc程序,在rc程序中,会执行当前系统默认运行等级下的所有要运行的脚本,这些脚本存放在rc?.d文件夹中(“?”是一个数字,运行等级是2的话就是rc2.d文件夹),在rc?.d文件夹中是以{K或S}{num}{name}命名的链接,这些链接至/etc/init.d/文件夹下的脚本,如果是K,那么意味着向/etc/init.d/下对应name的脚本传入stop参数,如果是S开头的链接,意味着传入start参数
si::sysinit:/etc/init.d/rcS
…到此,和我们的开机启动关系密切的代码已经结束了,当然,不排除在用户登录之后有针对用户的开机启动项目
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
…
1.2 linux启动shell脚本的一般书写规则
在/etc/init.d/下的脚本大都遵循一定的规则,其在关键的一条就是要接收start|stop|restart参数,分别表示启动、关闭、重启。当系统启动时,rc脚本会根据/etc/rc?.d/下脚本的名称(S或K开头)传入对应的参数至/etc/init.d/下的脚本。
以下是可参考的系统启动脚本和写法
#!/bin/bash
case $1 in
start)
echo Starting Program...
;;在此写入启动程序的脚本,写法通一般shell脚本的写法,可以使用函数
echo “ended”
;;
stop)
echo Stopping Program...
;;在此写入停止程序的脚本,写法通一般shell脚本的写法,可以使用函数
echo “stopped”
;;
restart)
echo Restarting Program...
;;在此写入重启程序的脚本,写法通一般shell脚本的写法,可以使用函数
echo Restarted
;;
*)
echo Usage: $0 {start|stop|restart|status}
exit 0
;;
esac
exit 0;
如果您想开机启动自己的脚本,先在/etc/init.d/目录下增加上述格式的脚本,再给此脚本可执行权限,再使用update-rc.d 你的脚本名称 st
文档评论(0)