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

yizhihongxing

请跟我一起详细讲解“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日

相关文章

  • MySQL 移动数据目录后启动失败问题解决

    针对“MySQL 移动数据目录后启动失败问题解决”,我们可以采取以下步骤来解决: 步骤一:备份数据目录 在移动数据目录之前,我们需要对原有数据目录进行备份,以避免数据丢失。可以通过以下命令来进行备份: tar czvf mysql_data.tar.gz /var/lib/mysql 其中,/var/lib/mysql 是原有数据目录的路径,可以根据实际情况…

    database 2023年5月18日
    00
  • SQL中表锁定(LOCK、UNLOCK)的具体使用

    SQL中的表锁定可以通过LOCK和UNLOCK语句实现,这可以保证在操作表的过程中并发执行的安全性。 LOCK和UNLOCK语句简介 LOCK语句 LOCK语句可以锁定指定的表,包括读锁和写锁(也称共享锁和排它锁)。 根据应用场景不同,可以使用以下两种方式: LOCK TABLE tablename READ:对指定表加读锁,可以允许其他事务通过SELECT…

    database 2023年5月22日
    00
  • Java实现七牛云文件图片上传下载

    下面是Java实现七牛云文件图片上传下载的完整攻略: 什么是七牛云 七牛云是一个云存储服务提供商,用户可以基于七牛云提供的 API 或者 SDK 进行文件上传、下载、管理、转码等操作。在开发过程中,我们可以直接调用七牛云提供的 API 或者使用已有的 SDK 完成操作。 Java 实现七牛云文件图片上传下载 引入七牛云的 SDK 首先需要引入七牛云的 SDK…

    database 2023年5月22日
    00
  • Adabas and Amazon SimpleDB

    Adabas和Amazon SimpleDB都是非关系型数据库,它们之间有些许不同之处。下面我将给大家详细讲解Adabas和Amazon SimpleDB的完整攻略,同时会以实例为例进行说明。 Adabas数据库详解 什么是Adabas Adabas是一种高性能,面向企业应用的数据库管理系统。Adabas由德国软件公司Software AG(现在称为Soft…

    database 2023年3月27日
    00
  • CAT分布式实时监控系统使用详解

    CAT分布式实时监控系统使用详解 CAT是一款开源的分布式实时监控系统,可以帮助我们实时监控系统的运行情况,快速发现问题。本文将详细讲解CAT的使用方法,并包含两个实际的示例说明。 CAT的核心组件 CAT主要由三个核心组件构成: 消息队列:用于存储系统发出的监控数据。 数据处理服务器:从消息队列读取数据并进行处理(聚合、存储)。 Web服务器:提供查询监控…

    database 2023年5月21日
    00
  • MySQL数据库之WHERE条件语句

    MySQL数据库之WHERE条件语句 定义 WHERE语句用于检索符合相关条件的数据,(即如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句); 搜索的条件可以由一个或者多个表达式组成; 结果为布尔值(TRUE/FALSE); 运算符汇总 运算符 语法 描述 AND(&&) a AND b、a && …

    MySQL 2023年4月12日
    00
  • 阿里云服务器搭建Php+Apache运行环境的详细过程

    我会为您提供阿里云服务器搭建Php+Apache运行环境的详细过程攻略。 准备工作 在您开始搭建之前,请确保您已经完成以下准备工作: 拥有一台阿里云服务器,如果还没有,请先购买并开通。 确认您已经连接到您的阿里云服务器,并且拥有root或具有sudo权限的用户账户。 步骤一 安装Apache 在进行设置之前,首先需要确认您的服务器是否已经安装了Apache。…

    database 2023年5月22日
    00
  • centos8使用Docker部署Django项目的详细教程

    下面就为您详细讲解“CentOS 8使用Docker部署Django项目的详细教程”。 环境准备 CentOS 8服务器,可以使用虚拟机或者独立服务器。 Docker,安装命令为 sudo dnf install -y docker-ce。 Docker Compose,安装命令为 sudo dnf install -y docker-compose。 Dj…

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