Ubuntu 创建开机自启动脚本的方法

**转载自: **http://rongjih.blog.163.com/blog/static/33574461201111504843245/

Ubuntu 创建开机自启动脚本的步骤如下:

1) 将你的启动脚本复制到 /etc/init.d目录下

以下假设你的脚本文件名为 test。

 

2) 设置脚本文件的权限

$ sudo chmod 755 /etc/init.d/test

 

3) 执行如下命令将脚本放到启动脚本中去:

$ cd /etc/init.d

$ sudo update-rc.d test defaults 95

注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:

1update-rc.d: warning: /etc/init.d/test missing LSB information 2update-rc.d: see <http://wiki.debian.org/LSBInitScripts> 3 Adding system startup for /etc/init.d/test ... 4 /etc/rc0.d/K95test -> ../init.d/test 5 /etc/rc1.d/K95test -> ../init.d/test 6 /etc/rc6.d/K95test -> ../init.d/test 7 /etc/rc2.d/S95test -> ../init.d/test 8 /etc/rc3.d/S95test -> ../init.d/test 9 /etc/rc4.d/S95test -> ../init.d/test 10 /etc/rc5.d/S95test -> ../init.d/test 11

 

卸载启动脚本的方法:

$ cd /etc/init.d

 

$ sudo update-rc.d -f test remove

命令输出的信息参考如下:

1Removing any system startup links for /etc/init.d/test ... 2 /etc/rc0.d/K95test 3 /etc/rc1.d/K95test 4 /etc/rc2.d/S95test 5 /etc/rc3.d/S95test 6 /etc/rc4.d/S95test 7 /etc/rc5.d/S95test 8 /etc/rc6.d/K95test 9

 

注:

linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件,另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel,我们一般进入的X windows多用户的运行级别是第5级,也就是rc5.d,在这个文件夹下的脚本文件就是运行第5级时要随机启动的服务程序。需要注意的是,在每个rc (1-6).d文件夹下的文件其实都是/etc/init.d文件夹下的文件的一个软连接,也就是说,在 /etc/init.d文件夹下是全部的服务程序,而每个rc(1-6).d只链接它自己启动需要的相应的服务程序!

还 需要注意的一点是,在rc5.d里,每个链接的名字都是以S或者K开头的,S开头的表示是系统启动是要随机启动的,K开头的是不随机启动的。这 样,你就可以知道,如果我要哪个服务随机启动,就把它名字第一个字母K改成S就可以了,当然,把S改成K后,这个服务就不能随机启动了。

Ubuntu系统运行级别:

0  系统停机状态

1  单用户或系统维护状态

2~5 多用户状态

6  重新启动

 

登录时自动运行程序**:**

用 户登录时,bash首先自动执行系统管理员建立的全局登录script :/ect/profile。然后bash在用户起始目录下按顺序查找三个特殊文件中的一个:/.bash_profile、/.bash_login、 /.profile,但只执行最先找到的一个。

因此,只需根据实际需要在上述文件中加入命令就可以实现用户登录时自动运行某些程序。

退出登录时自动运行程序**:**

退出登录时,bash自动执行个人的退出登录脚本/.bash_logout。

 

参考:

使用update-rc.d管理Linux服务

ubuntu下设置开机自启动项

Update-rc.d 命令用法详解

通过update-rc.d来管理Ubuntu系统的自动启动程序

代码交流 2021