`
fantaxy025025
  • 浏览: 1327987 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Ubuntu设置开机自启动程序

 
阅读更多

prefer:http://www.linuxidc.com/Linux/2011-12/48922.htm 

方法

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

 

原理

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

 

要 启动某一程序,例如scim,我们首先要知道scim程序在哪里,用locate命令可以找到,scim在/usr/bin/scim这里,其中usr表 示是 属于用户的,bin在linux里表示可以执行的程序。这样,我就可以编写一个脚本程序,把它放到/etc/init.d里,然后在rc5.d里做一个相 应的软链接就可以了。

 

这个脚本其实很简单,就两行:

 

#!/bin/bash

/usr/bin/scim

 

第一行是声明用什么终端运行这个脚本,第二行就是要运行的命令。

 

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

 

在RH下,ubuntu也一样,rc.local是默认启动的最后一个脚本文件,所以,

如果你想要随机启动,还有一种方法就是在rc.local的尾部加入/usr/bin/scim,这样就可以了。

所以最简单的方法是写在rc.local中。

 

问题

但rc.local中有个大问题,即默认是以root执行的,而且默认也不加载环境变量等,会导致很多脚本执行失败。

为什么这样?

因为root用户一般不会用来执行某些特殊的任务,比如redis服务由redis用户来启动。

这个是默认规矩,坏了规矩的做法,带来很多麻烦和危险。

 

 

 

分享到:
评论

相关推荐

    UBUNTU添加程序开机自动启动的方法

    UBUNTU 添加程序开机自动启动的方法 在 UBUNTU 环境中,添加程序开机自动启动可以通过多种方法实现。下面将详细介绍五种方法: 1. 开机启动时自动运行程序 在 Linux 系统启动过程中,init 进程会根据配置文件继续...

    Ubuntu自启动程序(总结)

    2. 对于开机启动程序,需要关注4个地方(排序有分先后) 3. 新建启动脚本 4. 直接添加到rc.local 5. 退出登录时自动运行程序 6. 定期自动运行程序 7. 定时自动运行程序一次 8. 依赖于图形界面的自动运行程序

    UBUNTU开机自启步骤.docx

    #### 三、Ubuntu开机自启动方法详解 ##### 1. **开机启动时自动运行程序** - **Linux引导过程**:当Linux系统加载后,首先运行的是`init`进程。`init`进程根据配置文件继续引导过程并启动其他进程。为了使某个程序...

    ubuntu20.04 tmux.sh 自启动脚本

    ubuntu tmux 自动执行shell脚本,可创建多个session,多个window。多个panes, 平铺所有的panes,对指定session下指定window的指定panes发送指定的多条命令,后台创建!...稍微修改可做成自己的自启动脚本,

    Arm-linux 自定义开机启动程序,避开从桌面启动

    本文将详细介绍如何在Arm-Linux环境下设置自定义开机启动程序,并避免启动系统携带的桌面环境。 #### 二、实现步骤 ##### Step1: 拷贝工程到根目录下 首先,需要将UI工程拷贝到系统根目录下。可以在`/root`目录下...

    ubuntu中编写shell脚本开机自动启动(推荐)

    在Ubuntu系统中,为了实现特定服务或程序的开机自动启动,我们可以编写shell脚本并将其配置为系统的服务。下面将详细介绍如何在Ubuntu中编写和设置shell脚本来实现这一功能。 首先,我们需要创建一个shell脚本文件...

    Ubuntu开机自启动-update-rc.d.docx

    示例:设置`run`程序开机自启动 假设我们需要设置名为`run`的程序在Ubuntu系统开机时自动启动。 - **步骤1**:创建服务脚本 在`/etc/init.d/`目录下创建一个新的脚本文件,例如`dustServer`,并添加以下内容: ...

    Ubuntu 14.04设置开机启动脚本的方法

    总的来说,通过遵循上述步骤,你可以轻松地在Ubuntu 14.04中配置开机启动脚本,从而实现系统的自动化管理和服务的自启动。这种能力对于系统管理员来说非常有用,特别是当需要确保某些服务在系统启动时总是处于运行...

    修改ubuntu开机启动项顺序 grub设置 删除多余内核

    修改 Ubuntu 开机启动项顺序 GRUB 设置删除多余内核 GRUB(Grand Unified Bootloader)是 Ubuntu 中的开机引导程序,它负责在系统启动时加载操作系统。GRUB 的配置文件是 `/boot/grub/grub.cfg`,该文件定义了开机...

    Ubuntu下配置Tomcat服务器以及设置自动启动的方法

    配置Tomcat服务器在Ubuntu环境下是Java Web开发者必备的技能之一,本文将详细介绍如何在Ubuntu系统上安装、配置Tomcat,并设置其自动启动,以确保服务的稳定性和可靠性。 首先,我们需要安装Java Development Kit ...

    ubuntu系统下使用pm2设置nodejs开机自启动的方法

    下面我们将详细介绍如何使用`pm2`在Ubuntu系统下设置Node.js应用的开机自启动。 首先,你需要确保已经安装了Node.js和npm。如果没有,请通过官方源或者使用包管理器(如`apt-get`)进行安装。 接下来,我们来安装`...

    Ubuntu系统部署.net core 项目 并开机自启动.pdf

    在本文档中,我们主要探讨了如何在Ubuntu 20.04系统上部署.NET Core项目并设置开机自启动。这个过程涉及多个步骤,包括连接到服务器、安装必要的软件环境、部署项目以及设置开机启动。 首先,为了远程连接到Ubuntu...

    如何在开机时自动启动程序

    以上就是在Windows、macOS和Linux系统中设置程序开机自启动的方法。请根据自己的操作系统和具体需求选择合适的方法。记住,过度的开机启动程序可能会影响系统的启动速度和性能,因此合理管理这些启动项是必要的。

    jar包自动化启停脚本,支持开机自启

    适用人群:生产环境运维人员,需要大量启动jar包的人员、需要设置开机自启动jar包的人员。 使用方法:(1)通过sh autoStart.sh可以启动目录下的所有jar包。(2)通过sh autoStart.sh /home/issue/svr-test 可以启动...

    开机自启动service

    标题中的“开机自启动service”指的是在Linux操作系统中,如何设置服务(service)在系统启动时自动运行。在Linux环境中,服务通常是后台程序,用于提供持续的系统功能,如网络服务、日志记录等。开机自启动服务是...

    开机自启动

    在计算机操作系统中,"开机自启动"是指在系统启动时自动运行特定的程序或服务。这一功能对于系统管理和日常使用非常实用,例如设置防病毒软件、网络连接等关键程序在开机时自动运行,确保系统安全性和高效性。下面将...

    Ubuntu下后台持续运行Python程序

    在Ubuntu系统中,后台持续运行Python程序是许多开发者和系统管理员需要掌握的重要技能。这尤其适用于需要长时间运行的任务,如数据分析、服务器监控或自动化任务。本文将深入探讨如何在Ubuntu环境下实现这一目标,并...

    ubuntu 添加启动项

    这篇博文链接虽然没有提供,但从标题来看,可能涉及如何在Ubuntu上设置开机启动一个名为`httpClient`的工具或应用。`httpClient`可能是一个用于HTTP请求处理的开源库或命令行工具,它可能不直接内置为启动服务,因此...

Global site tag (gtag.js) - Google Analytics