【 Ubuntu】systemd服务自启

2023-09-21 13:50:13

要在 Ubuntu 启动后执行一个守护脚本,您可以使用 Shell 脚本编写一个 systemd 服务单元。systemd 是 Ubuntu 中常用的服务管理工具,可以在系统启动时自动启动和管理服务。

下面是一个示例的守护脚本和 systemd 服务单元的步骤:

  1. 创建守护脚本:
    创建一个 Shell 脚本文件,例如 mydaemon.sh,并在其中编写您的守护脚本代码。确保脚本具有可执行权限。示例脚本如下:

    #!/bin/bash
    
    while true; do
        # 在此处编写您的守护脚本逻辑
        echo "Hello, I am a daemon script."
        sleep 10
    done
    ```
    
    请根据您的实际需求编写守护脚本的逻辑。
    
    
  2. 创建 systemd 服务单元:
    /etc/systemd/system/ 目录下创建一个 .service 文件,例如 mydaemon.service。这个文件命名可以根据您的需求进行修改。示例服务单元文件如下:

    [Unit]
    Description=My Daemon Service
    After=network.target
    
    [Service]
    ExecStart=/path/to/mydaemon.sh
    Restart=always
    
    [Install]
    WantedBy=default.target
    

    ExecStart 的路径 /path/to/mydaemon.sh 替换为您实际的守护脚本的路径。您可以在 Description 字段中为服务提供一个描述,并根据需要进行其他配置。

  3. 设置权限和重载 systemd:
    在终端中执行以下命令,设置服务单元文件的权限并重载 systemd:

    sudo chmod 644 /etc/systemd/system/mydaemon.service
    sudo systemctl daemon-reload
    ```
    
    
  4. 启用和启动服务:
    在终端中执行以下命令,启用并启动您的守护脚本服务:

    sudo systemctl enable mydaemon.service
    sudo systemctl start mydaemon.service
    ```
    
    现在,您的守护脚本将在 Ubuntu 启动后自动运行,并作为后台服务持续运行。
    
    

您可以使用以下命令来管理您的守护脚本服务:

  • 启动服务:sudo systemctl start mydaemon.service
  • 停止服务:sudo systemctl stop mydaemon.service
  • 重启服务:sudo systemctl restart mydaemon.service
  • 禁用服务:sudo systemctl disable mydaemon.service
  • 查看服务状态:sudo systemctl status mydaemon.service

希望这个指南对您有所帮助。如果您有任何进一步的问题,请随时提问。

更多推荐

大数据(九):数据可视化(一)

专栏介绍结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来!全部文章请访问专栏:《Python全栈教程(0基础)》再推荐一下最近热更的:《大厂测试高频面试题详解》该专栏对近年高频测试相关面试题做详细解答,结合自己多年

Mysql---第六篇

系列文章目录文章目录系列文章目录一、分表后非sharding_key的查询怎么处理,分表后的排序?二、mysql主从同步原理一、分表后非sharding_key的查询怎么处理,分表后的排序?可以做一个mapping表,比如这时候商家要查询订单列表怎么办呢?不带user_id查询的话你总不能扫全表吧?所以我们可以做一个映

SBCS、DBCS、ASCII、MBCS(ANSI)、Unicode

1.三种编码方式和三种字符类型。第一种编码方式是单字节字符集,称之为SBCS,它的所有字符可用一个字节存储。ASCII码就是SBCS。SBCS字符串由一个零字节结尾。第二种编码方式是多字节字符集,称之为MBCS,它包含的字符中有单字节长的字符,也有多字节长的字符。Windows用到的MBCS只有二种字符类型,单字节字符

沉积物微体古生物鉴定

声明本文是学习GB-T42629.4-2023国际海底区域和公海环境调查规程第4部分:海洋沉积物物理特性调查.而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们1范围本文件规定了国际海底区域和公海环境调查中的沉积物组成、物理力学性质、生物扰动、沉积物通量等调查要素,及其调查过程中的样品采集、处理、测试

探讨基于IEC61499开发类似LabVIEW图形编程工具

LabVIEW是一个十分出名的图形化编程工具,与之类似的还有Matlab的Simulink,他们统称为图形化编程语言(GraphicalProgrammingLanguage),另一方面,IEC61499功能块标准也是一种图形化编程工具,它面向分布式工业控制系统。本篇博文讨论一个十分有趣的话题,如何使用IEC61499

Nginx环境搭建、负载均衡测试

Nginx环境搭建、负载均衡测试系统环境:win10,IDEA2020,JDK8一、nginx环境搭建1.ngxin下载Nginx官网下载:http://nginx.org/en/download.htmlNginx有三种版本,分别是Mainlineversion(开发版)、Stableversion(稳定版)、Leg

学习vue3源码

🎬岸边的风:个人主页🔥个人专栏:《VUE》《javaScript》⛺️生活的理想,就是为了理想的生活!目录1.为什么要学习源码阅读优秀的代码的目的是让我们能够写出优秀的代码不给自己设限,不要让你周围人的技术上限成为你的上限功利性的阅读源码2.源码应该怎么阅读单点突破系统阅读具体方案3.本地怎么调试源码最后1.为什么

【微信小程序开发】宠物预约医疗项目实战-注册实现

【微信小程序开发】宠物预约医疗项目实战-注册实现第二章宠物预约医疗项目实战-注册实现文章目录【微信小程序开发】宠物预约医疗项目实战-注册实现前言一、打开项目文件二、编写wxss代码2.1什么是wxss2.2配置主程序全局样式三.在sign文件下的wxml文件中编写如下代码并保存四.sign.js文件代码编写如下4.1j

【Redis】深入探索 Redis 的数据类型 —— 无序集合 Set

文章目录一、Set类型介绍二、Set类型相关命令2.1添加元素和检查成员2.2移除元素2.3集合运算求交集求并集求差集2.4Set相关命令总结三、Set类型编码方式四、Set使用场景一、Set类型介绍Set(集合)是Redis数据库中的一种数据类型,它是一种无序的、不重复的数据结构,用于存储一组唯一的元素。Set在Re

【PyTorch 攻略 (4/7)】张量和梯度函数

一、说明W在训练神经网络时,最常用的算法是反向传播。在该算法中,参数(模型权重)根据损失函数相对于给定参数的梯度进行调整。损失函数计算神经网络产生的预期输出和实际输出之间的差异。目标是获得尽可能接近零的损失函数的结果。反向传播算法通过神经网络向后遍历,以调整权重和偏差以重新训练模型。这种随着时间的推移重新训练模型的来回

Word2Vec的原理是什么,如何用训练Word2Vec

Word2Vec是一种基于神经网络的词向量生成模型,通过训练预测上下文单词或中心单词来生成词向量。它包含两种不同的架构:跳字模型(Skip-gram)和连续词袋模型(ContinuousBag-of-Words,CBOW),它们在训练方式和结果表现上略有不同。1跳字模型(Skip-gram):在跳字模型中,模型的目标是

热文推荐