Linux 添加开机启动方法(服务/脚本)

请跟我一起详细讲解“Linux 添加开机启动方法(服务/脚本)”的完整攻略。

什么是开机启动

开机启动是系统启动时要自动启动的脚本或服务。在Linux系统中,开机启动分为两种类型:服务和脚本。

服务是一种系统进程,常驻内存,提供特定的功能。通过启动和停止服务,可以控制特定的模块,以达到管理系统的目的。

脚本是一连串编写的命令,可以在终端或者脚本中执行。如果需要在系统启动时执行某个脚本,就需要将这个脚本添加到开机启动中。

添加服务方法

1.编写服务脚本

通常我们需要编写一个System V style的service脚本,即一个脚本名为/etc/init.d/下的文件。

例如,我们编写一个简单的服务脚本,用于启动一个名为test_service的进程,实现以下功能:

#!/bin/sh
# Author: example.com

. /etc/rc.d/init.d/functions

prog="test_service"
pidfile="/var/run/${prog}.pid"
exec="/usr/bin/${prog}"

start() {
    if [ -f ${pidfile} ] && [ -d /proc/$(cat ${pidfile}) ]; then
        echo "${prog} (pid $(cat ${pidfile})) already running"
        return 0
    fi

    echo "Starting ${prog}..."
    ${exec} &
    echo $! > ${pidfile}
    echo "Started ${prog} (pid $(cat ${pidfile}))."
}

stop() {
    if [ ! -f ${pidfile} ] || ! kill -0 $(cat ${pidfile}); then
        echo "${prog} not running"
        return 0
    fi

    echo "Stopping ${prog}..."
    kill $(cat ${pidfile})
    rm -f ${pidfile}
    echo "Stopped ${prog}."
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac

exit 0

2.将服务脚本添加到服务列表

在CentOS/Fedora/RedHat等系统中,可以使用chkconfig将服务脚本添加到服务列表中。以添加test_service为例,运行以下命令:

sudo chkconfig --add /etc/init.d/test_service

3.设置服务开机启动

使用以下命令将test_service设置为开机启动:

sudo chkconfig test_service on

至此,服务添加到开机启动已经完成。

添加脚本方法

如果需要在系统启动时执行某个脚本,就需要将这个脚本添加到开机启动中。

1.编写脚本

例如,编写一个简单的脚本,实现以下功能:

#!/bin/sh

echo "Hello, World!" > /tmp/hello.txt

2.将脚本添加到开机启动目录

将脚本添加到/etc/init.d/里即可。假设将脚本存储为my_script.sh,运行以下命令:

sudo cp /path/to/my_script.sh /etc/init.d/
sudo chmod 755 /etc/init.d/my_script.sh

3.设置脚本开机启动

使用以下命令将my_script设置为开机启动:

sudo ln -s /etc/init.d/my_script.sh /etc/rc.d/rc3.d/S99my_script

其中,S99代表脚本的启动顺序,在此设置为99,这样可以确保脚本在其他服务启动之后才被执行。

至此,脚本添加到开机启动已经完成。

总结

添加服务和脚本到开机启动的方法略有不同,需要根据需要选择。当然,也可以采用其他方式来实现开机启动,比如rc.local等。只要能实现开机启动的目的即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux 添加开机启动方法(服务/脚本) - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Oracle游标使用参考语句实例解析

    Oracle游标使用参考语句实例解析 什么是游标? 游标(Cursor)是Oracle数据库中一种重要的数据访问机制,可以使用游标来遍历结果集,并对其中的数据进行复杂的处理。游标可以将一个结果集缓存到内存中,而不是一次性加载所有数据,从而减少了内存的使用和提高数据库性能。 游标的语法 定义一个游标需要使用 CURSOR 关键字。游标需要定义一个查询语句,查询…

    database 2023年5月21日
    00
  • SQL 更新记录

    下面是SQL更新记录的完整攻略: SQL更新记录 在SQL中,更新记录是指将表中一个或多个记录的某个或某些属性值修改为新的值。更新记录可以使用UPDATE语句完成。 UPDATE语句 UPDATE语句用于更新表中的记录。它的基本语法如下: UPDATE table_name SET column1 = value1, column2 = value2, ..…

    database 2023年3月27日
    00
  • MySQL中ADDDATE()函数的使用教程

    MySQL中ADDDATE()函数的使用教程 介绍 ADDDATE()函数用于向日期加上一定的时间间隔。可以将间隔以各种方式指定,例如天数、周数、月数、年数等。它的语法如下: ADDDATE(date, INTERVAL expr unit) 其中,date参数是日期表示,可以是一个日期直接量,也可以是从另一个函数、列、子查询或用户定义的变量中获得的值。ex…

    database 2023年5月22日
    00
  • Oracle计算时间差常用函数

    Oracle计算时间差常用函数攻略 在Oracle数据库中,可以使用常用函数计算时间差,以下是常用的几个函数: 1. DATEDIFF函数 DATEDIFF函数用于计算两个日期之间的差值,它的语法如下所示: DATEDIFF( datepart, startdate, enddate ) 其中,datepart表示要计算的时间单位,如年、月、日、小时等;st…

    database 2023年5月21日
    00
  • MySQL索引优化之不适合构建索引及索引失效的几种情况详解

    MySQL索引优化是提高MySQL查询效率的重要手段之一。然而,在实际应用中,我们会遇到不适合构建索引、索引失效等问题,从而造成查询效率的下降。本文将针对这些问题进行详细讲解。 一、不适合构建索引的情况 1.1 数据量太小 当表中的数据行数过少时,构建索引的意义不大,反而会增加查询开销。因此,在数据量较少的情况下,我们不建议构建索引。一般认为,数据量超过10…

    database 2023年5月22日
    00
  • AnzoGraph和MongoDB的区别

    AnzoGraph和MongoDB是两种不同类型的数据库管理系统,它们在数据存储、查询、处理等方面有很大差异。 首先,AnzoGraph是一种图数据库,广泛应用于语义网、知识图谱等领域,能够处理大量的图数据。MongoDB是一种文档型数据库,数据以文档的形式存储。 其次,在数据存储方面,AnzoGraph采用的是三元组模型,即以主语、谓语、宾语的形式存储数据…

    database 2023年3月27日
    00
  • MySQL 慢日志相关知识总结

    关于 MySQL 慢日志相关知识总结的攻略,主要包含以下几点: 什么是 MySQL 慢日志? MySQL 慢日志是 MySQL 服务器记录下来的执行时间超过阈值的 SQL 语句日志。这个阈值可以在配置文件中进行设置,通常设置为一定的毫秒数,比如 100 毫秒。当 MySQL 服务器执行一个 SQL 语句的时间超过这个阈值时,就会将这个 SQL 语句记录在慢日…

    database 2023年5月22日
    00
  • Linux发展历史大事编年表(截止2013年)

    Linux发展历史大事编年表(截止2013年) 以下是Linux发展历史中的重要事件编年表。本文包含了从最早的Linux内核版本到2013年的重要事件。 1991年 Linus Torvalds创造了最初的 Linux 0.01 内核并公开发布,并于随后的几年中继续更新内核。 1992年 GNU General Public License (GPL) 2发…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部