Linux Systemd服务创建与配置

在/etc/systemd/system/目录创建并配置服务:
  1. 创建一个新的systemd服务单元文件,以描述你的服务配置。

    sudo vi /etc/systemd/system/my-service.service
  2. 在打开的文件中,添加以下内容来定义你的服务配置:

    [Unit]
    Description=mqnamesrv
    After=network.target
    ​
    [Service]
    ExecStart=/app/rocketmq/rocketmq-all-4.7.1-bin-release/bin/mqnamesrv
    WorkingDirectory=/app/rocketmq/rocketmq-all-4.7.1-bin-release/
    User=username
    Group=groupname
    Restart=always
    ​
    [Install]
    WantedBy=multi-user.target
    • Description:服务的描述信息。

    • After:指定服务应该在哪些依赖项之后启动。

    • ExecStart:指定要运行的后台命令的路径。

    • WorkingDirectory:指定命令的工作目录。

    • User:指定服务运行的用户。

    • Group:指定服务运行的用户组。

    • Restart:指定服务在意外停止后是否自动重启。

    • WantedBy:指定服务应该被启用的目标。

    请替换上述内容中的路径、用户名和组名为你实际的配置。

  3. 保存并关闭文件。

  4. 重新加载systemd配置,使新的服务生效:

    sudo systemctl daemon-reload
  5. 启动服务:

    sudo systemctl start my-service

    可以使用 sudo systemctl status my-service 命令来检查服务的状态和日志输出,确保它正常运行。

  6. 如果你希望服务在系统启动时自动启动,执行以下命令:

    sudo systemctl enable my-service

    这样服务将会在系统启动时自动启动。

    现在,你的后台运行命令已经配置为自启动服务。你可以使用systemd命令来管理和控制该服务,例如启动、停止、重启和查看状态等。

在其它目录创建服务Unit文件并配置

也可以在其它目录创建Unit服务配置文件,比如在/opt/

创建文件ka.service,那么文件完整路径即是/opt/ka.service

然后在/etc/systemd/system/目录中,使用ln -s ka.service /opt/ka.service创建链接,然后enable ka.service即开机自启动

cd /etc/systemd/system/
sudo ln -s ka.service /opt/ka.service
sudo systemctl enable ka.service

后来想到,试一下不在/etc/systemd/system/做符号链接,直接在/opt/创建ka.service文件后,直接systemctl enable ka.service:

root@tin:~# cd /opt/
root@tin:/opt# systemctl enable ka.service
Failed to enable unit: Unit file ka.service does not exist.
root@tin:/opt# systemctl enable /opt/ka.service
Created symlink /etc/systemd/system/ka.service → /opt/ka.service.
Created symlink /etc/systemd/system/multi-user.target.wants/ka.service → /opt/ka.service.
​

看到,这时使用systemctl enable ka.service 是不行的,会说不存在,即使当前目录下有这个文件,估计没有加目录前缀,系统默认就是去/etc/systemd/system目录里去找的。加上绝对路径,再进行enable,结果可以了,而且这种方式,系统自动给你在/etc/systemd/system/目录创建了符号链接,倒是省去了我们自己创建符号链接的操作。

查看服务是否已经enable(开机自启):

systemctl is-enabled your-service-name

timer定义小贴士

定时器timer的定义中,如果没有显示的定义 unit 字段,默认是和 timer 同名 service 单元。

查看已经生效的timer
systemctl list-timers
timer生效

定义好timer,并enable timer(systemctl enable ka.timer)后,如果机器没有重启,则需要执行以下命令让timer生效(刷新,并至少使用start执行一次,才会间隔一段时间去执行):

systemctl daemon-reload
systemctl start ka.timer

如果机器要重启,或者是定义在容器Dockerfile,反正就是后面会再开机,则直接

systemctl enable ka.timer

执行过enable即可,无须再执行start。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/570397.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

李沐64_注意力机制——自学笔记

注意力机制 1.卷积、全连接和池化层都只考虑不随意线索 2.注意力机制则显示的考虑随意线索 (1)随意线索倍称之为查询(query) (2)每个输入是一个值value,和不随意线索key的对 (3)通过注意力池…

客服话术分享:客服如何挖掘需求?

电商客服主动挖掘询问顾客需求是非常重要的,这就需要我们具备一定的沟通技巧。今天这篇客服话术分享,很适合想提升业绩的你们哦! 一、打招呼式询问需求: 1.欢迎光临,本店竭诚为您服务~请问您有什么具体想了解的问题吗&…

java-spring 06 图灵 getBean方法和 doGetBean方法

01.一般的流程是,这里是从上一章的preInstantiateSingleton方法顺序过来的。 getBean() -> doGetBean() -> createBean() -> doCreateBean() -> createBeanInstance() -> populateBean() -> initializeBean() 02.getBean方法,一般就…

C语言(1):初识C语言

0 安装vs2022 见 鹏哥视频即可 1 什么是C语言 c语言擅长的是底层开发! 现在一般用的是C89和C90的标准 主要的编辑器: 2 第一个C语言项目 .c 源文件 .h头文件 .cpp c文件 c语言代码中一定要有main函数 标准主函数的写法: int main() { …

菜鸟Java面向对象 1. Java继承

1. Java继承 Java继承 1. Java继承1. 继承的概念_简单介绍继承的用处生活中的继承: 2. 类的继承格式类的继承格式 3. 为什么需要继承企鹅类:老鼠类:公共父类:企鹅类:老鼠类: 4. 继承类型_多重继承5. 继承的…

视频怎么批量压缩?5个好用的电脑软件和在线网站

视频怎么批量压缩?有时候我们需要批量压缩视频来节省存储空间,便于管理文件和空间,快速的传输发送给他人。有些快捷的视频压缩工具却只支持单个视频导入,非常影响压缩效率,那么今天就向大家从软件和在线网站2个角度介绍…

AI建模效果到底行不行?试用这些AI工具告诉你!

当前AI大模型技术浪潮正掀起一股颠覆性的变革浪潮。诸如Midjourney、Stable Diffusion等AI绘画生成工具变得日益成熟,赋能千行百业。在之前的文章中我给大家介绍了很多Midjourney、Stable Diffusion的使用方法和对应的功能: Midjourney vs Stable Diffu…

【连接管理,三次握手,拥塞控制原理】

文章目录 连接管理TCP连接管理同意建立连接TCP3次握手3次握手解决:半连接和接受老数据问题TCP:关闭连接 拥塞控制原理拥塞控制的方法 连接管理 TCP连接管理 TCP连接管理 在正式交换数据之前,发送方和接收方握手建立通信关系: 同…

ECharts海量数据渲染解决卡顿

file模块用来写文件 我们首先使用node来生成10万条数据; 借助node的fs模块就行; 如果不会的小伙伴;也不要担心;超级简单// 引入模块 let fs = require(fs); // 数据内容 let fileCont=我是文件内容 /*** 第一个参数是文件名* 第二个参数是文件内容,这个文件的内容必须是字…

内容平台加码旅游:谁是下一个网红城市

“姐妹们,你们五一啥安排?”早在3月中旬,小威就在询问两个好朋友的行程,“不早早问,怕约不上你们。” 去年以来,国人的旅游需求快速复苏,像小威的朋友一样,之前爱玩的、不爱玩的似乎…

使用Unity扫描场景内的二维码,使用插件ZXing

使用Unity扫描场景内的二维码,使用插件ZXing 使用Unity扫描场景内的二维码,ZXing可能没有提供场景内扫描的方法,只有调用真实摄像机扫描二维码的方法。 实现的原理是:在摄像机上添加脚本,发射射线,当射线打…

世界首台能探测单个原子的量子模拟器,诞生!

量子物理学依赖于高精度的传感技术,以便深入研究材料的微观特性。近期开发的模拟量子处理器显示出量子气体显微镜在原子层面理解量子系统方面的强大潜力。这种显微镜可以生成极高分辨率的量子气体图像,甚至能够检测到单个原子。 在西班牙巴塞罗那的ICFO&…

XxlJob外网访问

Xxl-Job使用外网访问 服务注册中心配置 ### web server.port8088 server.servlet.context-path/xxl-job-admin### actuator management.server.base-path/actuator management.health.mail.enabledfalse### resources spring.mvc.servlet.load-on-startup0 spring.mvc.static…

Java练习题

打印9*9乘法口诀表 解析&#xff1a;利用for循环解决 代码如图所示&#xff1a; public class Cc {public static void main(String[] args) {for (int i 1; i < 10; i){ //从1遍历到9 for(int j 1; j < i; j){ System.out.print(j "*" i "&…

由于找不到steam_api64.dll,无法继续执行代码的解决方法

当用户在尝试启动某款基于Steam平台的游戏时&#xff0c;遇到了“游戏显示找不到steam_api64.dll”的错误提示&#xff0c;这会导致无法正常启动游戏。这究竟是什么原因导致的呢&#xff1f;本文将介绍五种解决方法&#xff0c;帮助大家解决这一问题。 一&#xff0c;了解steam…

实现ALV页眉页脚

1、文档介绍 在ALV中&#xff0c;可以通过增加页眉和页脚&#xff0c;丰富ALV的展示。除了基本的页眉和页脚&#xff0c;还可以通过插入HTML代码的方式展示更加丰富的页眉和页脚&#xff0c;本篇文章将介绍ALV和OOALV中页眉页脚的使用。 2、ALV页眉页脚 效果如下 2.1、显示内…

对于地理空间数据,PostGIS扩展如何在PostgreSQL中存储和查询地理信息?

文章目录 一、PostGIS扩展简介二、PostGIS存储地理空间数据1. 创建空间数据表2. 插入空间数据 三、PostGIS查询地理空间数据1. 查询指定范围内的地理空间数据2. 计算地理空间数据之间的距离3. 对地理空间数据进行缓冲区分析 四、总结 地理空间数据是指描述地球表面物体位置、形…

翻译《The Old New Thing》 - What‘s so special about the desktop window?

Whats so special about the desktop window? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20040224-00/?p40493 Raymond Chen 2004年02月24日 简介 桌面窗口在 Windows 编程中具有特殊的地位&#xff0c;因为它代表整个桌面环境。滥用…

常见大厂面试题(SQL)01

知乎问答最大连续回答问题天数大于等于3天的用户及其对应等级 1.描述 现有某乎问答创作者信息表author_tb如下(其中author_id表示创作者编号、author_level表示创作者级别&#xff0c;共1-6六个级别、sex表示创作者性别)&#xff1a; author_id author_level sex 101 …

ARP 攻击神器:ARP Spoof 保姆级教程

一、介绍 arpspoof是一种网络工具&#xff0c;用于进行ARP欺骗攻击。它允许攻击者伪造网络设备的MAC地址&#xff0c;以欺骗其他设备&#xff0c;并截获其通信。arpspoof工具通常用于网络渗透测试和安全评估&#xff0c;以测试网络的安全性和漏洞。 以下是arpspoof工具的一些…
最新文章