【 Ubuntu】systemd服务创建、启用、状态查询、自启等

news/2024/7/9 20:56:20 标签: ubuntu, 服务器, postgresql

要在 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 字段中为服务提供一个描述,并根据需要进行其他配置。

Restart=always 将使得 服务开机自启,如果挂掉,自己也会重启。

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

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

    
    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

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

测试过程如下

创建 脚本过程省略,以下步骤展示了相关文件及文件内容,如需实践,请自行从上文查找
在这里插入图片描述

以下演示,步骤如下:
1、重新加载了 serivice 库
2、启用自定义的 mydaemon.service
3、启动自定义的 mydaemon.service
3、查看 mydaemon.service 状态(使用了两种命令)
在这里插入图片描述


http://www.niftyadmin.cn/n/5046482.html

相关文章

nacos+Dubbo整合快速入门

官网&#xff1a;Nacos Spring Boot 快速开始 下载下载链接启动&#xff1a;进入bin目录&#xff0c;startup.cmd -m standalone引入依赖 <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo</artifactId><version>3.0.9…

内存映射的注意事项

1.如果对mmap的返回值(ptr)做操作(ptr)&#xff0c;munmap是否能够成功? 可以&#xff0c;但是不建议 2.如果open时O_RDONLY&#xff0c;mmap时prot参数指定PROT READPROT WRITE会怎样? 错误&#xff0c;返回MAP_FAILED open()函数中的权限建议和prot参数的权限保持…

使用多线程实现批处理过程

使用多线程实现批处理过程&#xff0c;将一下数组&#xff0c;按10个一组&#xff0c;每组一个打印数据&#xff0c;并在19个线程都处理完成后输出打印次数 int[]data new int [100]; for(int i0;i <100;i){data[i] i;} import java.util.concurrent.CountDownLatch;public…

python实验2

1、实验题目&#xff1a;个人用户信息注册 模拟用户个人信息注册&#xff0c;需要输入用户个人信息 姓名、性别、年龄、血型、身高、电话 信息&#xff0c;并输出显示。 源代码&#xff1a; print(用户个人信息注册) name input("请输入您的姓名&#xff1a;") sex…

Spring Cloud Alibaba Nacos 2.2.3 (2) - 单机版启动 (winodows 和 linux )

Nacos 2.2.3 (1) - 下载与数据库配置 参考下载与数据库配置 启动服务器 执行 nacos-server-2.2.3\bin 下的startup.sh或者startup.cmd &#xff08;根据不同系统&#xff09; windows 下nacos 单机启动 方式一&#xff1a; 1&#xff0c;打开cmd 2&#xff0c;cd 到nacos-s…

面试嵌入式软件工程师常见问题

嵌入式软件工程师的面试过程中&#xff0c;面试官可能会提出以下一些常见的问题&#xff1a; 请你简单介绍一下你自己。你对嵌入式系统有什么理解&#xff1f;你能谈一下你所熟悉的嵌入式操作系统吗&#xff1f;在你过去的项目中&#xff0c;你如何优化嵌入式系统的性能&#…

Android之AMessage机制存/取原理(四十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

机器学习之监督学习,无监督学习,强化学习相关概念

文章目录 1. 监督学习&#xff08;Supervised Learning&#xff09;2. 无监督学习&#xff08;Unsupervised Learning&#xff09;3. 强化学习&#xff08;Reinforcement Learning&#xff09;总结 机器学习可以按照模型使用情况分为三大类&#xff1a;监督学习、无监督学习和强…