Linux(Ubuntu/CentOS)配置开机自启动服务

ops/2024/12/27 5:57:51/
systemd和systemctl的区别和联系
systemd:是现代Linux系统中的初始化系统和服务管理器。它主要负责系统引导和进程管理,支持并行化启动服务,并提供高级的服务管理和依赖控制。
systemctl:是systemd的命令行工具,用于与systemd进行交互。它提供了一种便捷的方式来管理systemd所控制的服务。综上所述,systemd是Linux系统中的初始化系统和服务管理器,而systemctl是其命令行工具。它们之间既存在区别又相互联系,共同构成了Linux系统中强大的系统和服务管理框架。
确定Linux
如果不确定系统上使用的是哪种初始化系统:
1、查看系统是否有systemctl命令:列出当前正在运行的所有服务:systemctl list-units --type=service有就直接用这个。
2、如果没有systemctl,可以用命令行:ps 1 命令来查看PID为1的进程是什么。命令行:ps 1 // 这通常是系统的初始化进程,如systemd、init(SysVinit)或upstart(Upstart)
systemctl设置开机自启动服务

systemctl命令使得用户可以方便地启动、停止、重启、查看状态、启用或禁用系统服务。

命令行工具对应Linux版本说明
CentOS:CentOS 7及更高版本
Ubuntu:Ubuntu 15.04及以后的版本

列出当前正在运行的所有服务:systemctl list-units --type=service
检查服务的状态:sudo systemctl status 服务名.service
启动服务命令:sudo systemctl start 服务名.service
设置服务开机自启动:sudo systemctl enable 服务名.service // 服务将被添加到系统的启动项中,确保在系统启动时自动启动。
验证服务是否已被设置为开机自启动:sudo systemctl is-enabled 服务名.service // 如果返回enabled,则说明服务已设置为开机自启动。

init.d目录下创建启动脚本并配置开机自启动

update-rc.d命令在基于Debian和Ubuntu等Linux发行版中用于管理系统服务的启动和停止顺序。

1、进入init.d目录:cd /etc/init.d/
2、创建或编辑Shell启动脚本:
示例脚本(以myservice为例),保存为自己的服务名.sh:

	#!/bin/sh# /etc/init.d/myservice# Provides: myservice# Required-Start: $remote_fs $syslog# Required-Stop: $remote_fs $syslog# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Start daemon at boot time# Description: Enable service provided by daemon.case "$1" instart)echo "Starting MyService..."# 在这里添加启动服务的命令stop)echo "Stopping MyService..."# 在这里添加停止服务的命令*)echo "Usage: /etc/init.d/myservice {start|stop}"exit 1esacexit 0

3、赋予执行权限

	sudo chmod +x /etc/init.d/myservice

4、使用update-rc.d配置开机自启动

	命令行:sudo update-rc.d myservice defaults这将把myservice脚本添加到系统的默认运行级别(通常是2、3、4、5,对应多用户模式)的启动项中。

5、扩展 设置运行级别

	如果您需要设置特定的启动和停止顺序,可以使用update-rc.d的-s和-f选项来调整。例如:sudo update-rc.d myservice start 90 2 3 4 5 . stop 10 0 1 6 .这将设置在运行级别2、3、4、5时启动myservice,启动顺序为90;在运行级别0、1、6时停止myservice,停止顺序为10。验证运行级别配置:通过检查/etc/rcX.d/目录(其中X是运行级别)中的链接来验证配置是否成功。这些链接应该指向/etc/init.d/myservice脚本。

http://www.ppmy.cn/ops/145297.html

相关文章

CPU条件下Pytorch、jupyter环境配置

一、创建虚拟环境 查看虚拟环境 conda env list 创建python虚拟环境 conda create -n minist python3.11 激活虚拟环境 conda activate minist 查看虚拟环境下有哪些包 pip list 二、安装pytorch 切换清华源 conda config --add channels https://mirrors.tuna.tsing…

无需公网 IP 实现外部访问 Puter 一站式云平台

Puter 是一款隐私至上的个人云,它是开源桌面环境,运行在浏览器中,这款桌面环境具备丰富的功能、异常快速和高度可扩展性。它可以用于构建远程桌面环境,也可以作为云存储服务、远程服务器、Web 托管平台等的界面。 第一步&#xf…

windows调整鼠标速度

参考:https://baijiahao.baidu.com/s?id1791659684803021646&wfrspider&forpc 鼠标灵敏度,亦称为指针速度或DPI(每英寸点数)设置,对用户的电脑操作流畅度和精准度至关重要。本篇文章将深入解析如何在Windows操作系统环境…

kotlin 函数作为参数

函数引用的类型 Kotlin 支持几种类型的函数引用: 引用顶层函数: ::topLevelFunction引用成员函数: ::memberFunction (需要一个对象实例来调用)引用扩展函数: ::extensionFunction (需要一个接收者对象)引用构造函数: ::ClassName 或 ClassName::class.constructo…

Elasticsearch-脚本查询

脚本查询 概念 Scripting是Elasticsearch支持的一种专门用于复杂场景下支持自定义编程的强大的脚本功能,ES支持多种脚本语言,如painless,其语法类似于Java,也有注释、关键字、类型、变量、函数等,其就要相对于其他脚本高出几倍的性…

面试题整理17----K8s中request和limit资源限制是如何实现的

面试题整理17----K8s中request和limit资源限制是如何实现的 1. 资源请求(Resource Requests)2. 资源限制(Resource Limits)3. 总结 在Kubernetes(K8s)中,Pod的资源限制(Resource Lim…

新能源汽车锂离子电池各参数的时间序列关系

Hi,大家好,我是半亩花海。为了进一步开展新能源汽车锂离子电池的相关研究,本文主要汇总并介绍了电动汽车的锂离子电池的各项参数,通过 MATLAB 软件对 Oxford Dataset 的相关数据集进行数据处理与分析,进一步研究各项参…

构建安全的用户认证系统:PHP实现

构建安全的用户认证系统:PHP实现 用户认证是任何Web应用的重要组成部分,确保只有授权用户才能访问特定资源。构建一个安全的用户认证系统需要考虑多种因素,包括密码存储、会话管理和防止常见gongji。本文将介绍如何使用PHP实现一个安全的用户…