先说说ubuntu,它有运行级别这个概念
0:停机
1:单用户形式,只root进行维护
2:多用户,不能使用net file system
3:完全多用户
5:图形化
6:重启
例子:按指定顺序、在指定运行级别中启动或关闭
update-rc.d <basename> start|stop <order> <runlevels>
实例:update-rc.d apachectl start 20 2 3 4 5 . stop 20 0 1 6 .
A启动后B才能启动,B关闭后A才关闭
update-rc.d A defaults 80 20
update-rc.d B defaults 90 10
下面是ubuntu设置开机或者登陆或者退出时自动运行的方式
1、开机启动时自动运行
①linux加载以后,先初始化硬件和驱动,然后就去找init程序。
②加载系统内核,启动 init 进程, init 进程是 Linux 的根进程,所有的系统进程都是它的子进程。
③init 进程读取 /etc/inittab 文件中的信息,并进入预设的运行级别。通常情况下 /etc/rcS.d/ 目录下的启动脚本首先被执行,然后是/etc/rcN.d/ 目录。在这个几个目录下,S开头为开机启动,K开头的为不启动。
④根据 /etc/rcS.d/ 文件夹中对应的脚本启动 Xwindow 服务器 xorg,Xwindow 为 Linux 下的图形用户界面系统。
⑤等待用户登陆
编辑/etc/rc.local文件(通常最后启动),在文末加上xinit或startx,开机启动后直接进入X-Window
我们也可以在这儿添加自启动脚本
vim /etc/rc.local 在exit 0前面添加好脚本代码。
或者update-rc.d xxx default NN命令(NN为启动顺序),将脚本添加到初始化执行的队列中去。
2、登陆时自动运行
用户登陆时,bash先自动执行系统管理员建立的全局登陆script /etc/profile
然后bash在用户起始目录下按顺序找三个特殊文件中的一个
.bash_profile .bash_login .profile,但只执行最先找到的一个。因此,只需要根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序
3.退出登录时自动运行
.bash_logout 可以在这里写个备份 tar -cvzf
4.直接改/etc/rcN.d目录下的文件,S开头为启动,K为关闭。
5.用工具来设置这一切
用rcconf或者sysv-rc-conf
rcconf --list列出来on和off的东西
--on [service] 开机启动的服务
--off [service] 开机关闭的服务
sysv-rc-conf 直接就是图形化控制开机自启的东西