Ubuntu下添加开机启动项的2种方法

摘要:
编辑rc.local脚本在Ubuntu启动后,它将执行/etc/rc.local文件中的脚本。sudovi/etc/rc.local然后在出口0前面添加脚本代码。您可以将脚本复制或软连接到/etc/init.d/目录,并将脚本添加到初始化执行队列。1) 将启动脚本复制到/etc/init。d目录。假设脚本文件名为test。2) 用于设置脚本文件的权限副本代码如下:

1、方法一,编辑rc.loacl脚本

Ubuntu开机之后会执行/etc/rc.local文件中的脚本,
所以我们可以直接在/etc/rc.local中添加启动脚本。
当然要添加到语句:exit 0 前面才行。
如:

复制代码
代码如下:
sudo vi /etc/rc.local


然后在 exit 0 前面添加好脚本代码。

2、方法二,添加一个Ubuntu的开机启动服务。

如果要添加为开机启动执行的脚本文件,
可先将脚本复制或者软连接到/etc/init.d/目录下,
然后用:update-rc.d xxx defaults NN命令(NN为启动顺序),
将脚本添加到初始化执行的队列中去。
注意如果脚本需要用到网络,则NN需设置一个比较大的数字,如99。
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是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。该命令的输出信息参考如下:

复制代码
代码如下:
update-rc.d: warning: /etc/init.d/test missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/test ...
/etc/rc0.d/K95test -> ../init.d/test
/etc/rc1.d/K95test -> ../init.d/test
/etc/rc6.d/K95test -> ../init.d/test
/etc/rc2.d/S95test -> ../init.d/test
/etc/rc3.d/S95test -> ../init.d/test
/etc/rc4.d/S95test -> ../init.d/test
/etc/rc5.d/S95test -> ../init.d/test


卸载启动脚本的方法:

复制代码
代码如下:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove


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

复制代码
代码如下:
Removing any system startup links for /etc/init.d/test ...
/etc/rc0.d/K95test
/etc/rc1.d/K95test
/etc/rc2.d/S95test
/etc/rc3.d/S95test
/etc/rc4.d/S95test
/etc/rc5.d/S95test
/etc/rc6.d/K95test

免责声明:文章转载自《Ubuntu下添加开机启动项的2种方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux使用PAM锁定多次登陆失败的用户(重置次数)原理后续补充----Linux shell 判断字符串为空等常用命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

shell命令--ssh

shell命令--ssh 0、ssh命令的专属图床 点此快速打开文章【图床_shell命令ssh】 1、ssh命令的功能说明 ​ ssh 命令是安全的加密协议,用于远程连接 Linux 服务器,默认端口是22 ​ SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监...

for循环删除数组中的元素crash问题

转载请注明出处!!! 如以下代码: NSMutableArray *array = [NSMutableArray arrayWithObjects:@"2",@"3",@"4",@"9",@"4",@"12",@"22",@"4",@"4",@"5",@"6",@"1", nil]; for (NSString *str in array)...

Delphi断点调试-初级

所谓断点,就是在程序代码的某一行上设置一个标记,程序执行到这里将暂停,由调 试器接管对程序的控制。使用断点与使用【Runto Cursor】命令有些相似,都是执行到某 一行后暂停。不同的是,程序中可以设置多个断点并且能够给断点设置条件。   断点通常设置在有疑点的区域。在遇到断点之前,程序以全速运行。遇到断点之后,程序暂时停止运行,以后就可以单步或跟踪执行...

ES6 模块化笔记

ES6 模块的设计思想,是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。 ES6 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。 // ES6模块 import { stat, exists, readFile } from 'fs'; 需要特别注意的是,export命令规定的是对外的接口...

一条物联网设备控制命令的一生

-----概述------ 为能有效地对设备进行管理,设备的产品模型中定义了物联网平台可向设备下发的命令,应用服务器可以调用物联网平台开放的API接口向单个设备或批量设备下发命令,或者用户通过物联网平台直接向单个设备下发命令,以实现对设备的远程控制。 华为物联网平台有两种命令下发机制: 立即下发:不管设备是否在线,平台收到命令后立即下发给设备。如果设备...

.net core 3.0 实现读取appsettings.json配置文件

转自:https://www.cnblogs.com/jiyuwu/p/11776044.html 第一种直接放到通用类库,那里想调往那调。 1.编辑我们的appsettings.json文件 { "Logging": { "LogLevel": { "Default": "Information", "Micros...