在Ubuntu系统中使用Systemctl添加启动项的详细指南

在Ubuntu系统中使用Systemctl添加启动项的详细指南

在Ubuntu系统中,systemctl 是管理systemd服务的主要工具。通过它,你可以添加、启动、停止、重启、启用和禁用服务。

什么是Systemctl?

systemctl 是一个用于管理systemd系统和服务管理器的命令行工具。systemd是一个系统和服务管理器,作为许多Linux发行版的init系统。它提供了并行启动服务,减少启动时间的功能,并能有效管理服务依赖关系。

系统要求

  • Ubuntu系统(本指南适用于Ubuntu 16.04及更高版本)
  • 拥有sudo权限的用户账户

如何使用Systemctl添加启动项

要使用systemctl添加启动项,需要创建一个新的systemd服务单元文件,并将其配置为在系统启动时自动启动。以下是具体步骤:

步骤一:创建服务单元文件

服务单元文件定义了一个服务的行为,包括如何启动、停止和重启服务。服务单元文件通常位于/etc/systemd/system/目录下,文件名以.service结尾。以下是一个服务单元文件的示例:

[Unit]
Description=My Custom Service
After=network.target[Service]
ExecStart=/usr/bin/my_custom_service
Restart=always[Install]
WantedBy=multi-user.target

在服务单元文件中,[Unit]部分包含了服务的描述和依赖关系,[Service]部分定义了服务的启动命令、重启策略等,[Install]部分指定了服务的目标环境。

  • Description:服务的描述。
  • After:指定服务依赖的其他服务,例如network.target表示网络服务。
  • ExecStart:指定服务启动时执行的命令。
  • Restart:定义服务失败时的重启策略,always表示总是重启。
  • WantedBy:指定服务应该在哪个目标下启动,multi-user.target是多用户图形界面环境。

在创建或修改完.service配置文件后,需要重新加载systemd管理的配置文件,以使更改生效。可以使用以下命令重新加载systemd配置:

sudo systemctl daemon-reload

然后,再启用、启动、停止或重启您的服务。

步骤2:启用服务

创建服务文件后,您需要启用该服务以确保它在系统启动时自动启动:

sudo systemctl enable my_service.service

步骤3:启动服务

要立即启动服务(而不是等到下一次系统启动),您可以使用以下命令:

sudo systemctl start my_service.service

步骤4:检查服务状态

要检查服务的状态,您可以使用以下命令:

sudo systemctl status my_service.service

这将显示服务的状态,包括它是否正在运行,以及最近的日志输出。

如果服务运行正常,你将看到类似于以下的输出:

● my_custom_service.service - My Custom ServiceLoaded: loaded (/etc/systemd/system/my_custom_service.service; enabled; vendor preset: enabled)Active: active (running) since Mon 2024-05-20 12:34:56 UTC; 1min 30s agoMain PID: 1234 (my_custom_service)Tasks: 1 (limit: 4915)Memory: 1.1MCGroup: /system.slice/my_custom_service.service└─1234 /usr/bin/my_custom_service

步骤5:重启和停止服务

如果需要,您可以使用以下命令重启或停止服务:

sudo systemctl restart my_service.service
sudo systemctl stop my_service.service

参考链接

  • Systemd 入门:链接地址
  • Ubuntu 官方文档:链接地址
  • Systemctl 手册页:链接地址
  • 编写自定义Systemd服务:链接地址

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

std::vector<数据类型>(大小),较常用的相关方法总结

一、初始化 我的理解是vector就相当于数组&#xff0c;可以是整型数组、字符串数组等&#xff0c;其中存放什么数组取决于<数据类型> std::vector<int> a; // 整型数组std::vector<string> b; // 字符串数组a {1,2,3,4,5,6};std::cerr << a.size() &…

OpenHarmony迎来首个互联网技术统一标准,鸿蒙OS生态走向如何?

开源三年半&#xff0c;OpenHarmony(以下简称“开源鸿蒙”)迎来了新进展。在5月25日召开的「OpenHarmony开发者大会」上&#xff0c;鸿蒙官宣了开源鸿蒙设备统一互联技术标准。 一直以来&#xff0c;各行业品牌操作系统相互独立、难以协同,成为其互联互通的痛点。为进一步解决…

顺序表以及实现(结构篇)

顺序表是一种线性表的存储结构&#xff0c;它使用一组地址连续的存储单元依次存储线性表的数据元素。在顺序表中&#xff0c;逻辑上相邻的元素在物理存储上也相邻&#xff0c;通常采用数组来实现这种存储方式。 前言&#xff1a; 顺序表格的特点&#xff1a; 随机访问&#x…

【MySQL精通之路】SQL语句(7)-数据库管理语句(3)-表维护语句

目录 1.ANALYZE TABLE语句 1.1 输出 1.2 KEY分布分析 1.3 直方图统计分析 2.CHECK TABLE语句 2.1 输出 2.2 检查版本兼容性 2.3 检查数据一致性 2.4 InnoDB表的CHECK TABLE的使用说明 2.5 MyISAM表的CHECK TABLE使用说明 3.CHECKSUM TABLE语句 3.1 性能注意事项 4…

Unity SetParent第二个参数worldPositionStays的意义

初学Unity的小知识&#xff1a; 改变对象的父级有三种调用方式&#xff0c;如下&#xff1a; transMe.SetParent(transParent,true); transMe.SetParent(transParent,false); transMe.parent transParent;具体有什么区别呢&#xff0c;这里写一个测试例子来详细说明&#xff…

LLaMA-Factory 微调训练

LLaMA-Factory 微调训练 该框架功能&#xff0c;标注-微调-导出-合并-部署&#xff0c;一整条流程都有&#xff0c;而且训练时消耗的gpu算力也会小一些 一&#xff0c;安装&#xff08;推荐在linux中训练&#xff0c;win可以用wsldocker&#xff09; git clone https://githu…

数据驱动的UI艺术:智能设计的视觉盛宴

数据驱动的UI艺术&#xff1a;智能设计的视觉盛宴 引言 在当今这个数据泛滥的时代&#xff0c;大数据不仅仅是一种技术手段&#xff0c;它更是一种艺术形式。当大数据遇上UI设计&#xff0c;两者的结合便催生了一种全新的艺术形式——数据驱动的UI艺术。本文将探讨如何将数据…

STM32建立工程问题汇总

老版本MDK&#xff0c;例如MDK4 工程内容如下&#xff1a; User文件夹中存放main.c文件&#xff0c;用户中断服务函数&#xff08;stm32f1xx.it.c&#xff09;&#xff0c;用户配置文件&#xff08;stm32f1xx_hal_conf.h&#xff09;等用户程序文件&#xff0c;或者mdk启动程序…

5,串口编程---实现简单的用串口发送接收数据

单片机通过串口向PC机发送数据 PC机通过串口接收单片机发过来的数据 1.UART和USART的区别&#xff1a; USART支持同步通信方式,可以通过外部时钟信号进行同步传输,而UART仅支持异步通信方式 本开发板STM32F103ZET6有5个串口&#xff0c;用串口1作调试串口&#xff0c;因为串…

攻击渗透思考题

1. windows登录的明文密码&#xff0c;存储过程是怎么样的&#xff0c;密文存在哪个文件下&#xff0c;该文件是否可以打开&#xff0c;并且查看到密文 在Windows操作系统中&#xff0c;登录时输入的明文密码不会以明文形式存储在系统中。相反&#xff0c;Windows使用一种称为“…

数据库mysql

一、mysql常用语句 登录MySQLmysql -u root -p列出所有数据库SHOW DATABASES;创建一个新数据库CREATE DATABASE test;删除一个数据库DROP DATABASE test;对一个数据库进行操作时USE test;列出当前数据库的所有表SHOW TABLES;要查看一个表的结构DESC students;创建表CREATE TAB…

关于我转生从零开始学C++这件事:升级Lv.25

❀❀❀ 文章由不准备秃的大伟原创 ❀❀❀ ♪♪♪ 若有转载&#xff0c;请联系博主哦~ ♪♪♪ ❤❤❤ 致力学好编程的宝藏博主&#xff0c;代码兴国&#xff01;❤❤❤ OK了老铁们&#xff0c;又是一个周末&#xff0c;大伟又来继续给大家更新我们的C的内容了。那么根据上一篇博…

php之web开发

目标 实现一款具有常用大部分功能的WEB应用&#xff0c;并初步了解WEB漏洞原理 登录功能&#xff1a; 1、基于前端的登录功能 <!DOCTYPE html> <html> <head> <title>简单登录功能</title> </head> <meta charset"UTF-8"…

【Python】 Python中的“命名元组”:简单而强大的数据结构

基本原理 在Python中&#xff0c;namedtuple是tuple的一个子类&#xff0c;它允许我们为元组的每个位置指定一个名字。这种数据结构非常适合用于需要固定字段和值的场景&#xff0c;例如数据库查询的结果或配置文件中的设置。 namedtuple提供了一种方便的方式来访问元组中的元…

海外盲盒系统APP开发,盲盒出海热潮下的蓝海

近几年&#xff0c;我国潮玩出海成为了一个的大风口。根据数据显示&#xff0c;今年全球潮玩规模将达到400多亿美元&#xff0c;市场发展空间巨大。海外庞大的市场对于我国盲盒出海是一个较大的优势。在当下互联网的快速发展下&#xff0c;海外盲盒APP商城成为了盲盒企业出海的…

【MySQL精通之路】优化(1)-查询优化(6)-索引条件下推

1.介绍 Index Condition Pushdown&#xff08;ICP&#xff09;是针对MySQL使用索引从表中检索行的情况进行的优化。 在没有ICP的情况下&#xff0c;存储引擎遍历索引以定位基表中的行&#xff0c;并将它们返回给MySQL服务器&#xff0c;MySQL服务器会评估这些行的WHERE条件。 启…

开源VS闭源:谁将引领AI大模型的新时代?

一、引言 随着人工智能技术的飞速发展&#xff0c;AI大模型已成为推动这一浪潮的核心动力。在AI大模型的发展过程中&#xff0c;开源与闭源两种不同的发展路径一直备受关注。本文将深入探讨这两种路径的优劣势&#xff0c;分析它们对AI大模型发展的影响&#xff0c;并预测谁将…

ctfshow web入门 黑盒测试

web380 这里文章看的我好有感触 但是影响做题 扫描一下 访问flag.php啥也没有再访问page.php page.php?idflagweb381 扫出来page.php但是没啥用哇&#xff0c;查看源代码 这些文件挨个试发现啥也没&#xff0c;最后仔细对比发现其实都是layui&#xff0c;然后尝试着访问…

《架演》共创者第一次线上沟通会议总结

《架演》共创者第一次线上沟通——启动会 会议主题&#xff1a;《架演》共创启动会议会议时间&#xff1a;2024年5月28日&#xff0c;20:00 - 21:00会议地点&#xff1a;腾讯会议主持人&#xff1a;寒山参会人员&#xff1a; 夏军、mirror、刘哥、悟缺席人员&#xff1a;可心、…

Cocos Creator 安卓环境配置

系统&#xff1a;Win10&#xff0c;引擎版本&#xff1a;CocosCreator3.8.2&#xff0c; 时间&#xff1a;2024.05.23 安装 Java SDK(JDK)下载地址 注意&#xff1a;Java版本对应的Gradle: 详见表 Table 1. Java Compatibility 此处选择 Java 21 对应 Gradle 8.5 配置Java系统…