systemctl 添加自定义系统服务

2024-06-01 04:20

本文主要是介绍systemctl 添加自定义系统服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以 “启动、停止、重启” boa web server为例:

1. 编写系统服务脚本

        编写一个符合系统服务规范的脚本。这个脚本通常描述了服务的启动、停止、重启等行为。你可以使用shell、C、C++、Java等语言来编写这个脚本。

# boa_server_run.sh:#!/bin/bashset -e
cd /etc/boa
# boa服务
RADIAO_WEB_SERVER="boa"case "$1" instart)#run boa web serverchmod 755 $RADIAO_WEB_SERVER./$RADIAO_WEB_SERVER;;stop)echo  "Stop ${RADIAO_WEB_SERVER}"killall boa;;restart)$0 stop$0 start;;*)echo "usage: $0 { start | stop | restart }" >&2exit 1;;
esacexit 0

2. 创建服务单元文件

        在/etc/systemd/system/目录下,你需要创建一个服务单元文件(通常以.service为后缀)。这个文件描述了服务的元数据和如何启动、停止、重启该服务。

# boa-server.service:[Unit]
Description=Radio Gateway Web Server Service
After=default.target[Service]
Type=forking
Restart=on-failure
ExecStart=/opt/boa_server_run.sh start
ExecStop=/opt/boa_server_run.sh stop[Install]
WantedBy=default.target

         [Unit]部分描述了服务的元数据和启动顺序[Service]部分定义了如何启动服务,以及服务的重启策略。[Install]部分则描述了服务的安装信息

3. 添加执行权限

        如果你的服务脚本没有执行权限,你需要使用chmod命令为它添加执行权限。

sudo chmod 755 boa-server.service

4. 重新加载配置文件

sudo systemctl daemon-reload

5. 启用并启动服务

        使用systemctl命令来启用并启动你的自定义服务了。启用服务意味着在系统启动时自动运行它。你可以使用以下命令来启用和启动服务:

sudo systemctl enable boa-server.service

sudo systemctl start boa-server.service

        现在,你的自定义服务应该已经成功添加并启动了。你可以使用systemctl status mycustomservice.service命令来查看服务的状态。 

         测试重启boa-server.servicce:

sudo systemctl restart boa-server.service

这篇关于systemctl 添加自定义系统服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1019966

相关文章

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

SpringBoot AspectJ切面配合自定义注解实现权限校验的示例详解

《SpringBootAspectJ切面配合自定义注解实现权限校验的示例详解》本文章介绍了如何通过创建自定义的权限校验注解,配合AspectJ切面拦截注解实现权限校验,本文结合实例代码给大家介绍的非... 目录1. 创建权限校验注解2. 创建ASPectJ切面拦截注解校验权限3. 用法示例A. 参考文章本文

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python