news 2026/6/10 12:46:12

Linux开机自启动systemd配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux开机自启动systemd配置

为什么需要systemd

在 Linux 系统中,确保关键服务能够在系统启动时自动运行是一项非常重要的任务。尤其是在服务器环境中,我们希望一些服务(比如服务器上部署的java应用)能够在系统每次启动后自动启动,从而确保业务的持续运行。在 Linux 中,常用的服务管理系统有两种:systemdsysvinit。本篇文章摘自网络,只做个人笔记记录备忘。

systemd是 Linux 的一种系统和服务管理器,负责系统的引导过程,管理系统运行时的服务,并提供许多系统功能,如日志、时间同步等。它通过服务单元文件(通常为.service文件)来定义和管理服务,并提供强大的依赖管理和并行启动功能。

systemd 常用命令

(1)systemctl status <service-name>

可以使用systemctl status <service-name>来判断指定服务是否加入到systemd自启动。

(2)systemctl enable <service-name>

设置指定服务开启自启动

(3)启动服务

systemctl start <service_name>

(4)停止服务

systemctl stop<service_name>;注意不能用kill -9,自启动会将服务再次启动的

创建自定义的systemd服务

1 创建服务单元文件

systemd服务通过服务单元文件(.service文件)来管理。首先,你需要在/etc/systemd/system/或/usr/lib/systemd/system目录中创建一个新的服务文件。例如,创建一个名为myservice.service的文件

2 服务单元文件配置

[Unit] Description=My Custom Service After=network.target [Service] ExecStart=/path/to/your/program --argument Restart=always User=youruser Group=yourgroup [Install] WantedBy=multi-user.target

解释:

  • [Unit]:定义服务的描述和依赖。After=network.target表示该服务会在网络启动后启动。
  • [Service]:定义服务的启动命令、重启策略、运行用户等。ExecStart是服务启动时执行的命令。
  • [Install]:定义服务在哪个运行级别下启动。multi-user.target表示该服务将在多用户模式下启动。

比如一个java应用的配置如下:

[Unit] Description=template After=network.target [Service] Type=forking WorkingDirectory=/opt/myjava/ ExecStart=/opt/myjava/servicectl.sh start 2048m ExecReload=/opt/myjava/servicectl.sh restart 2048m ExecStop=/opt/myjava/servicectl.sh stop PrivateTmp=true Restart=on-failure [Install] WantedBy=multi-user.target

其中servicectl.sh是自定义的服务启动脚本
#!/bin/sh
./service.sh $1 `ls *.jar` $2

注意:这种写法当前目录只能有一个java的jar包。

3 重新加载systemd配置

执行systemctl daemon-reload 命令重新加载systemd配置。

参考:https://cloud.tencent.com/developer/article/2587808

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:55:00

一文说清AUTOSAR架构结构:核心要点全梳理

深入AUTOSAR架构&#xff1a;从分层设计到工程落地的全链路解析 汽车电子系统正在经历一场静默却深刻的变革。十年前&#xff0c;一辆车的ECU&#xff08;电子控制单元&#xff09;数量不过十几个&#xff1b;如今&#xff0c;高端车型的ECU已超过100个&#xff0c;软件代码量逼…

作者头像 李华
网站建设 2026/6/10 11:57:48

Cisco Netflow

NetFlow 协议讲解 关键点 NetFlow 概述&#xff1a;NetFlow 是 Cisco 开发的网络协议&#xff0c;主要用于收集和监控 IP 流量流的元数据&#xff0c;帮助网络管理员分析流量模式、优化性能和检测异常。主要作用&#xff1a;提供网络可见性&#xff0c;支持带宽利用率监控、安…

作者头像 李华
网站建设 2026/5/29 12:49:53

Xilinx Artix-7开发中Vivado下载模式详解

Xilinx Artix-7开发实战&#xff1a;Vivado下载模式全解析——从调试到量产的配置链路设计你有没有遇到过这样的场景&#xff1f;FPGA板子上电后&#xff0c;DONE灯就是不亮&#xff0c;INIT_B一直拉低&#xff0c;示波器抓不到CCLK时钟&#xff1b;或者在实验室反复用JTAG下载…

作者头像 李华
网站建设 2026/6/5 12:26:03

零基础理解AUTOSAR模块间交互逻辑

信号如何在汽车芯片间“快递”&#xff1f;一文讲透AUTOSAR模块协作真相你有没有想过&#xff0c;当你踩下油门时&#xff0c;为什么仪表盘上的车速能瞬间跳动&#xff1f;这背后并不是简单的电线直连&#xff0c;而是几十个电子控制器通过复杂的“对话协议”协同工作的结果。现…

作者头像 李华