系统开机时自动执行指令

使用 systemd 创建一个服务单元可以让系统开机时自动执行指令,假设需要执行的指令如下,运行可执行文件(/home/demo/可执行文件),并输入参数(–input=/home/config/demo.yaml):

/home/demo/可执行文件 --input=/home/config/demo.yaml

✅ 推荐方法:使用 systemd

1. 创建服务文件

以 root 权限创建一个新的服务文件,例如:

sudo nano /etc/systemd/system/demo.service
2. 编写服务内容

将以下内容粘贴进去(根据你的实际路径和用户名修改):

[Unit]
Description=demo
After=network.target[Service]
ExecStart=/usr/bin/taskset -c 0/home/demo/可执行文件 --input=/home/config/demo.yaml
Restart=always
User=yourusername
Environment="DISPLAY=:0"
StandardOutput=syslog
StandardError=syslog[Install]
WantedBy=multi-user.target

⚠️ 注意:

  • yourusername 替换为你运行这个程序的实际用户。
  • 如果程序需要图形界面或访问 X11,请确保 Environment="DISPLAY=:0" 正确。
  • 如果不需要 taskset,可以直接写成 ExecStart=/home/cpp/build/tennis_line --input=/home/config/lines.yaml
  • 一般情况下只需要更改ExecStartUser
配置项含义
DescriptionTennis Line Detection Service服务名称描述
Afternetwork.target在网络就绪后启动
ExecStarttaskset -c 0 …实际执行的命令
Restartalways出现任何退出都重启
Useryourusername指定运行服务的用户
EnvironmentDISPLAY=:0设置环境变量,用于图形界面,指定显示器
StandardOutputsyslog标准输出记录到 syslog
StandardErrorsyslog错误输出也记录到 syslog
WantedBymulti-user.target在多用户模式下启动
3. 重新加载 systemd 配置
sudo systemctl daemon-reload
4. 启用服务开机自启
sudo systemctl enable tennis-line.service
5. 可选:立即启动服务
sudo systemctl start tennis-line.service
6. 查看日志确认是否运行正常
journalctl -u tennis-line.service

禁用开机自启

  1. 禁用服务

    使用 systemctl disable 命令可以禁用指定的服务,使其不会在系统启动时自动启动。

    sudo systemctl disable demo.service
    

    这个命令会移除 /etc/systemd/system/multi-user.target.wants/ 目录下的相应符号链接(如果存在),从而达到禁止该服务随系统启动而启动的目的。

  2. 停止正在运行的服务(可选)

    如果这个服务当前正在运行,并且想停止它,可以使用 systemctl stop 命令:

    sudo systemctl stop demo.service
    
  3. 确认服务已被禁用

    可以通过查询服务的状态来确认它是否已经被正确禁用。禁用后,服务将不会随着系统的启动而自动启动,但仍然可以通过手动启动来运行。

    sudo systemctl demo.service
    

    在输出中,会看到类似“Loaded: loaded (…) disabled;”的信息,表示该服务已禁用。

删除服务文件(可选)

如果确定以后完全不需要这个服务了,也可以考虑删除相应的服务单元文件。请谨慎操作,因为这将永久删除该服务的所有配置。

sudo rm /etc/systemd/system/tennis-line.service

之后,别忘了重新加载 systemd 配置,以便更改生效:

sudo systemctl daemon-reload

完成以上步骤后, demo.service 就不会再在系统启动时自动启动了。

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

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

相关文章

Docker 初学者需要了解的几个知识点 (七):php.ini

这段配置是 php.ini 文件中针对 PHP 扩展和 Xdebug 调试工具的设置,主要用于让 PHP 支持数据库连接和代码调试(尤其在 Docker 环境中),具体解释如下:[PHP] extensionpdo_mysql extensionmysqli xdebug.modedebug xdebu…

【高阶版】R语言空间分析、模拟预测与可视化高级应用

随着地理信息系统(GIS)和大尺度研究的发展,空间数据的管理、统计与制图变得越来越重要。R语言在数据分析、挖掘和可视化中发挥着重要的作用,其中在空间分析方面扮演着重要角色,与空间相关的包的数量也达到130多个。在本…

dolphinscheduler中一个脚本用于从列定义中提取列名列表

dolphinscheduler中,我们从一个mysql表导出数据,上传到hdfs, 再创建一个临时表,所以需要用到列名定义和列名列表。 原来定义两个变量,不仅繁锁,还容易出现差错,比如两者列序不对。 所以考虑只定义列定义变量…

JavaWeb(苍穹外卖)--学习笔记16(定时任务工具Spring Task,Cron表达式)

前言 本篇文章是学习B站黑马程序员苍穹外卖的学习笔记📑。我的学习路线是Java基础语法-JavaWeb-做项目,管理端的功能学习完之后,就进入到了用户端微信小程序的开发,用户端开发的流程大致为用户登录—商品浏览(其中涉及…

灵敏度,精度,精确度,精密度,精准度,准确度,分辨率,分辨力——概念

文章目录前提总结前提 我最近在整理一份数据指标要求的时候,总是混淆这几个概念:灵敏度,精度,精确度,精密度,精准度,准确度,分辨率,分辨力,搜了一些文章&…

python-异常(笔记)

#后续代码可以正常运行 try:f open("xxx.txt","r",encodingutf-8)except:print("except error")#捕获指定异常,其他异常报错程序中止,管不到 try:print(name) except NameError as you_call:print("name error"…

[lvgl_player] 用户界面(LVGL) | 播放器核心设计

docs:基于LVGL的音乐播放器 本项目是为嵌入式设备设计的音乐播放系统,采用LVGL图形库构建用户界面。 系统支持播放WAV格式音频文件,具备播放列表管理功能,可实现播放/暂停控制、曲目切换等核心操作。 用户可通过交互界面实时调…

数据赋能(354)——数据分析——多角度分析原则

概述重要性如下:获得全面理解:多角度分析原则避免仅从单一角度解读数据,从不同角度、不同维度对数据进行分析,以获得更全面的理解。发现潜在规律:通过多角度分析,发现数据中的潜在规律和趋势,为…

【华为机试】127. 单词接龙

文章目录127. 单词接龙描述示例 1:示例 2:提示:解题思路算法分析问题本质分析单向BFS算法详解双向BFS算法详解邻居单词生成过程算法流程图边界情况分析各种解法对比时间复杂度分析空间复杂度分析关键优化点实际应用场景图构建策略双向BFS优化…

仿艾莫迅MODBUS调试工具写一个上位机

公司采购了一个夹具,项目负责人想要试探这个夹具的性能,于是想要我这边写一个烤机的程序,小编结合官网资料 https://wiki.amsamotion.com/?title196&doc222查看其pdf说明文档和调试工具并按照其工具写一个烤机上位机根据项目负责人的要求…

云展厅:开启数字化展示新时代

在科技飞速发展的今天,数字化浪潮正席卷各个行业,展览展示领域也不例外。云展厅作为一种全新的展览形式,正逐渐崭露头角,以其独特的优势和创新的技术应用,为观众带来前所未有的观展体验,也为企业和机构提供…

硬件电路基础学习

一、基础元器件学习 1、电阻 1.1 作用 电阻的工作原理是基于欧姆定律,即电阻的阻值取决于其材料、长度和横截面积。电阻的主要作用是限制电流,调节电压和电流,以及保护电路。1.2 数值计算 欧姆定律 通过欧姆定律计算所需保护电阻的大小注意…

基于C++和人工智能(DeepSeek)实践

基于C++和人工智能(如DeepSeek)实践 以下是基于C++和人工智能(如DeepSeek或其他AI框架)的实际应用示例,涵盖不同领域和技术方向,供参考: 基于C++和人工智能(如DeepSeek或其他AI框架)的实际应用示例 图像识别与处理 人脸检测:使用OpenCV和DNN模块加载预训练的Caffe…

书生浦语第五期L0G1000

完成 视频课程学习,并在 https://chat.intern-ai.org.cn/ 平台中实践提示词技巧,与 InternLM 和 InternVL 各完成 10 次对话记录在飞书文档中。 参加 浦语提示词工程论文分类打榜赛,分数超过 40 分 InternLM InternVL 浦语提示词工程论文分…

SpringCloud(一)微服务基础认识

1、介绍微服务架构是一种架构模式,它提倡将原本独立的单体应用,拆分成多个小型服务。这些小型服务各 自独立运行,服务与服务间的通信采用轻量级通信机制(一般基于HTTP协议的RESTful API) ,达到互相协调、互…

MaxKB+MinerU:通过API实现PDF文档解析并存储至知识库

MinerU是一款开源的高质量数据提取工具,能够将PDF文档转换为Markdown和JSON格式。2025年6月13日,MinerU发布了v2.0版本,相较于v1.0版本实现了架构和功能的全面重构与升级。在优化代码结构和交互方式的同时,v2.0版本还集成了小参数…

一文了解 `package.json` 和 `package-lock.json`文件

所有使用 npm 或 yarn(部分场景)管理依赖的 JavaScript/Node.js 项目都会存在**的核心文件–package.json 和 package-lock.json,无论项目类型是 Vue、React、Angular,还是纯 Node.js 后端项目、普通 JavaScript 工具库等。 所以这…

【AI论文】大语言模型量化的几何原理:将GPTQ视为Babai最近平面算法

摘要:将大型语言模型(LLMs)的权重从16位量化到更低位宽,是实际部署大规模Transformer模型到更具性价比的加速器上的通用方法。GPTQ已成为大语言模型规模下一站式训练后量化的标准方法之一。然而,其内部工作原理被描述为…

数据处理四件套:NumPy/Pandas/Matplotlib/Seaborn速通指南

点击 “AladdinEdu,同学们用得起的【H卡】算力平台”,H卡级别算力,按量计费,灵活弹性,顶级配置,学生专属优惠。 数据清洗 特征可视化 Kaggle数据集实操 读者收获:1周内具备数据预处理能力 数…

计算机系统层次结构

计算机系统通过多层抽象,平衡硬件效率与软件灵活性,各层以独立语言和功能构成有机整体。一、层次划分(从底层到顶层)层级名称特点实现方式第1级微程序机器层硬件直接执行微指令(如微操作控制信号)。物理硬件…